欢迎来到天天文库
浏览记录
ID:45098967
大小:297.50 KB
页数:14页
时间:2019-11-09
《《VHDL的混合输入法》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七讲VHDL硬件描述语言_5教学课时:2学时教学内容:原理图和VHDL混合输入法设计(1)同步计数器的设计(2)7段显示译码器的设计(3)顶层实体的设计1、原理图与VHDL混合输入法设计以具体实例进行讲解。要求:(1)先设计一个1位十进制数的计数显示译码电路。其中,计数器、七段显示译码电路由VHDL程序描述。(2)在原理图中调用2个1位十进制数计数器,2个七段显示译码电路来实现2位十进制的计数显示,以完成整个电路的设计,并用QuartusII进行功能仿真。一、同步计数器的设计。所谓同步计数器,就是在时钟脉
2、冲的控制下,构成计数器的各触发器状态同时发生变化的那一类计数器。异步复位:是指复位信号一有效,计数器的计数值清0,进位输出清0.同步复位:是指复位信号有效,且时钟脉冲正是上升沿(或下降沿)时,计数器的计数值和进位输出清0.例1:设计一个具有异步复位的1位十进制计数器,VHDL程序为counter_1.vhd,并使用QuartusII进行仿真。设计思路:(1)确定端口引脚:clk:时钟信号rst:复位信号q:计数值cout:计数满(2)工作流程:rst=1?若是,将q,cout清零,若否,则判断是否clk上升
3、沿,若是,则计数。计数时判断是否计到9,若是,则q清零,cout置1;若否,则计数值加1,cout清零.libraryieee;useieee.std_logic_1164.all;entitycounter_1isport(clk,rst:instd_logic;q:outintegerrange0to9;cout:outstd_logic);endentity;architectureoneofcounter_1isbeginprocess(clk,rst)variabley:integerrange0
4、to9;beginifrst='1'theny:=0;cout<='0';elsifclk'eventandclk='1'thenify=9theny:=0;cout<='1';elsey:=y+1;cout<=‘0’;endif;endif;q<=y;endprocess;endone;异步复位的1位十进制计数器的仿真时序图二、七段显示译码器的设计七段显示译码器是将1位十进制数码译成数码管对应的a-g七段显示信号。它有两种连接方式,共阴极和共阳极连接。设采用共阴极连接,则‘1’使对应的二极管亮,‘0’使对
5、应的二极管灭。例2:设计七段显示译码器的VHDL程序。01234567893FH06H5BH4FH66H6DH7DH07H7FH6FH七段码表:七段显示译码器的设计思路:(1)确定端口引脚d:输入的1位十进制数y:输出的七段码值(2)程序编写,可考虑用case语句对输出y赋值。libraryieee;useieee.std_logic_1164.all;entitysec7isport(d:inintegerrange0to15;y:outstd_logic_vector(6downto0));endent
6、ity;architectureoneofsec7isbeginprocess(d)begincasediswhen0=>y<="0111111";when1=>y<="0000110";when2=>y<="1011011";when3=>y<="1001111";when4=>y<="1100110";when5=>y<="1101101";when6=>y<="1111101";when7=>y<="0000111";when8=>y<="1111111";when9=>y<="1101111";wh
7、enothers=>y<="ZZZZZZZ";endcase;endprocess;endone;7段数码显示的仿真时序图例3:用原理图,VHDL混合方式设计2位十进制数的计数显示译码电路。第一步:生成1位十进制计数器电路的元件。方法是点菜单File->Create/Update->careatesymbolfilesforcurrentfile,为当前选中的VHDL文件建立元件符号;第二步:生成7段数码管的元件符号,方法同上;第三步:新建一个原理图文件,设计2位十进制数的计数显示译码电路,调用上2步生成的
8、元件,包含2个计数器,2个七段显示译码器,原理图文件名为cntdip.bdf;第四步:编译;第五步:仿真。电路图波形图例4:用元件声明和例化的方法重做例3,并用QuartusII进行功能仿真。libraryieee;useieee.std_logic_1164.all;entitycounter_1isport(clk,rst:instd_logic;q:outintegerrange0to9;cout:outs
此文档下载收益归作者所有