欢迎来到天天文库
浏览记录
ID:47697293
大小:37.50 KB
页数:8页
时间:2020-01-22
《数字秒表的设计的vhdl语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、word格式数字秒表的VHDL语言的程序设计本秒表计时器用于体育竞赛及各种要求有较精确时的各领域。此计时器是用一块专用的芯片,用VHDL语言描述的。它除开关、时钟和显示功能以外,它还包括1/100s计时器所有的控制和定时功能,其体积小,携带方便。计时器的设计功能:(1) 精度应大于1/100s(2) 计时器的最长计时时间为1小时在一般的短时间计时应用中,1小时应该足够了。为此需要一个6位显示器,显示最长时间为59分59.99秒。(3)
2、 设置复位和启/停开关复位开关用来使计时器清0,并作好清0准备。启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时进程应立即终止,并对计时器清零。设计方案:为了便于描述,将整个计时控制芯片分成5个子模块:键输入子模块(keyin),时钟产生子模块(clkgen),控制子模块(ctrl),定时计数子模块(cntclk)和显示子模块(disp)。 芯片设计:各模块程序及
3、生成的符号文件如下:keyin模块设计该模块的描述是为了产生单个复位脉冲res和启停脉冲stst.整个功能模块用两个进程语句描述。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitykeyinisport(reset,start_stop,clk:instd_logic;res,stst:outstd_logic);endentity;architectureaofkeyinissignalres0,res1
4、,stst0,stst1:std_logic;beginprocess(clk)begin....word格式if(clk'eventandclk='0')then res1<=res0; res0<=reset; stst1<=stst0; stst0<=start_stop;endif;endprocess;process(res0,res1,stst0,stst1)beginres<=clkandres0and(notres1);stst<=clkandstst0and(notstst1);endpr
5、ocess;enda; clkgen模块设计该模块的功能是产生100Hz的计时允许信号cntclk和25Hz的宽度为1ms的键输入时钟信号keycek.LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYcnt10IS PORT(reset,en,clk:INSTD_LOGIC; carry:OUTSTD_LOGIC; q :OUTSTD_LOGIC_VECTOR(3
6、DOWNTO0));ENDCNT10; ARCHITECTURErtlOFcnt10IS SIGNALqs:STD_LOGIC_VECTOR(3DOWNTO0); SIGNALca:STD_LOGIC;....word格式BEGIN PROCESS(clk) BEGIN IF(clk'EVENTANDclk='1')THEN IF(reset='1')THEN qs<="0000"; ELSIF(en='1')THEN
7、 IF(qs="1001")THEN qs<="0000"; ca<='0'; ELSIF(qs="1000")THEN qs<=qs+1; ca<='1'; ELSE LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYcn
8、t4IS PORT(reset,en,clk:INSTD_LOGIC; carry :OUTSTD_LOGIC; q :OUTSTD_LOGIC_VECTOR(1DOWNTO0));ENDCNT4; ARCHITECTURErtlOFcnt4IS SIGNALqs:STD_LOGIC_VECTOR(1DOWNTO0); SIGNALca:
此文档下载收益归作者所有