资源描述:
《基于fpga的数字钟设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于FPGA的数字钟设计发表于2006/12/921:15:05本文所设计的数字钟具有通过reset键对时、分、秒调整功能.该设计分为六个部分:六进制计数器counter6,十进制计数器counted0,二四进制计数器counted时钟模块bclock,LED扫描显示模块ledctrl。设计使用VHDL语言,程序代码如下:--模块名:顶层设计--文件名:myclock.vhd--时间:2006年12月9日libraryieee;useieee.std_logic_1164.all;entitymyclockisport(clk1,clk2,reset:instdjogic;-
2、clk1为计数脉冲,clk2为LED扫描脉冲;hh_set:instd」ogic_vector(1downto0);--时高位调整;mh_set,sh_set:instd_logic_vector(2downto0);--分,秒高位调整;hl_set,ml_set,sl_set:instd_logic_vector(3downto0);--时,分,秒低位调整;led_dp:outstdjogic;-LED小数点;sel:outstd_logic_vector(2downto0);--送三-八译码生成位选信号;seg:outstd_logic_vector(6downto0))
3、;--段码;endmyclock;architectureoneofmyclockiscomponentbclockisport(clk,reset:instdjogic;hhin:instd_logic_vector(1downto0);mhin,shin:instd_logic_vector(2downto0);hlin,mlin,slin:instd_logic_vector(3downto0);hho:outstd_logic_vector(1downto0);mho,sho:outstd_logic_vector(2downto0);hlo,mlo,slo:outs
4、td_logic_vector(3downto0));endcomponentbclock;componentledctrlisport(clk:instdjogic;hh:instd_logic_vector(1downto0);mh,sh:instdjogic_vector(2downto0);hl,ml,sl:instd_logic_vector(3downto0);dp:outstdjogic;selo:outstd_logic_vector(2downto◦);sego:outstd_logic_vector(6downto0));endcomponentledct
5、rl;signalhh1:std_logic_vector(1downto0);signalmh1,sh1:std_logic_vector(2downto0);signalhl1,ml1,sl1:std_logic_vector(3downto0);beginu1:bclockportmap(clk1,reset,hh_set,mh_set,sh_set,hl_set,ml_setJsl_set,hh1,mh1,sh1,hl1,mI1,sl1);u2:ledctrlportmap(clk2,hh1,mh1,sh1,hl1,ml1,sl1,led_dp,sel,seg);en
6、done;--模块名:十进制数器--文件名:countedO.vhd--时间:2006年12月9日libraryieee;useieee.stdloqic1164.all:useieee.std_logic_unsigned.all;entitycounted0isport(clk,reset:instd_logic;dinzinstd_logic_vector(3downto0);c:outstdjogic;doutzoutstd_logic_vector(3downto0));endcounterlO;architectureoneofcounted0issignaldd
7、:std_logic_vector(3downto0);signalc1:stdjogic;beginprocess(clk,reset)isbeginifreset=*1*thendd<=din;c1<=’0’;elsifrising_edge(clk)thenifdd=n1001nthendd<=n0000H;c1<=*1elsedd<=dd+1;c1<=•()’;endif;endif;endprocess;dout<=dd;c<=c1;endone;--模块名:六进制计数器--文件名:coun