第六章VHDL与原理图混合设计方式两种输入方式的比较举例:4位二进制计数器举例:数字电子钟混合设计一般步骤1
一、原理图与VHDL比较原理图设计输入输入效率较低,但容易实现仿真,便于电路的调整设计较大规模系统时,显得繁琐且移植性差VHDL输入VHDL对设计的描述具有相对性,可以不考虑硬件的结构和最终实现的目标器件通常结合两者进行综合设计底层采用VHDL,顶层采用原理图2
二、4位二进制计数器计数器七段数码管显示3
四位二进制加法计数器设计cnt4.vhd具有异步复位、异步置位、同步预置、同步使能功能LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT4ISPORT(CLK,LOAD,RST,PST,EN:INSTD_LOGIC;DATA:INSTD_LOGIC_VECTOR(3DOWNTO0);CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREONEOFCNT4ISSIGNALCQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK,RST,PST,LOAD,EN)BEGINIFRST=‘1’THENCQI=“0000”;ELSIFPST=‘1’THENCQI=“1111”;ELSIFCLK’EVENTANDCLK=‘1’THENIFLOAD=‘1’THENCQI=DATA;ELSIFEN=‘1’THENCQI=CQI+1;ENDIF;ENDIF;CQ=CQI;ENDPROCESS;END;顶层设计时要调用该计数器,所以需要为其创建一个元件File—CreateDefaultSymbol4
7段显示译码器设计decoder_7led.vhd将4位二进制数译码为7段数码管的显示信号g—a创建元件File—CreateDefaultSymbol5
顶层原理图设计top.gdf将底层元件连接起来思考计数器、7段译码显示、顶层原理图设计文件是否都放在同一个文件夹中?最后对哪个程序进行期间分配、管脚分布、程序下载等步骤?6
三、数字电子钟要求具有时、分、秒计数显示,24小时制;具有清零的功能,能调整系统的小时、分钟;模块划分计数:秒计数、分计数、小时计数;时间设置(将其写入分钟计数及时钟计数模块中)译码(包括动态数码管选择、7段译码)7
底层各模块设计秒、分计数器:六十进制计数小时计数器:二十四进制计数动态数码显示:输出选择;7段显示译码时钟的分频模块:奇数分频、偶数分频8
libraryieee;useieee.std_logic_1164.all;entitycnt60isport(clk,clear,load,en:instd_logic;dh,dl:instd_logic_vector(3downto0);cout:outstd_logic;qh,ql:outstd_logic_vector(3downto0));endcnt60;architectureoneofcnt60issignaltmph,tmpl:std_logic_vector(3downto0);begin?endone;process(clk,clear,load,en,dh,dl)beginifclear=‘0’thentmph=“0000”;tmpl=“0000”;elsifclk’eventandclk=‘1’thenifload=‘0’thentmph=dh;tmpl=dl;elsifen=‘1’theniftmpl=“1001”thentmpl=“0000”;iftmph=“0101”thentmph=“0000”;elsetmph=tmph+