《基于fpga的数字秒表.ppt》由会员分享,可在线阅读,更多相关《基于fpga的数字秒表.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数字秒表设计数字秒表设计数字秒表clkkclrrendataout(23.0)数字秒表的设计包括十进制计数器和六进制计数器,然后通过例化组合来得到数字秒表系统,这里首先要得到100Hz的时钟信号秒表计时的最大范围为1小时,精度为0.01秒,秒表可得到计时时间的分、秒、0.1秒、0.01秒等度量,并且各度量可正确进位十进制计数器clkclrendout(3.0)六进制计数器dout(3.0)clkclren计数单位及对应输出信号 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnts
2、hi is port(clk,clr,ena:in std_logic;dout:out std_logic_vector(3 downto 0);co:out std_logic);end cntshi;architecture art of cntshi is signal tmp:std_logic_vector(3 downto 0);begin process(clk,clr,tmp)begin if clr=1then tmp=0000;co=0;elsif clkevent and clk=1 then if ena=1then 十进制计数器源程序-时钟、复位、计数使能信号-计数
3、输出信号-进位输出信号-定义计数器-复位信号有效-时钟上升沿-计数使能信号 if tmp=1001 then tmp=0000;co=1;else tmp=tmp+1;end if;end if;end if;dout=tmp;end process;end art;六进制计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cntliu is-计数器加1-输出计数器的值-计数器满 port(clk,clr,ena:in std_logic;dout:out std_logic_ve
4、ctor(3 downto 0);co:out std_logic);end cntliu;architecture art of cntliu is signal cnt:std_logic_vector(3 downto 0);begin process(clk,clr,cnt)begin if clr=1 then cnt=0000;co=0;elsif rising_edge(clk)then if ena=1then if cnt=0101then cnt=0000;co=1;else cnt=cnt+1;-复位信号有效-时钟上升沿-允许计数-计数器满-计数器加1-时钟、复位、计数使
5、能信号-定义计数器 end if;end if;end if;dout=cnt;end process;end art;数字秒表顶层模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity miaobiao isport(clkk:in std_logic;clrr,en:in std_logic;dataout:out std_logic_vector(23 downto 0);end miaobiao;architecture w of miaobiao is-定义时钟信号,周期为0.
6、01秒-定义复位、计数使能信号-输出计时结果 component cntliu isport(clk,clr,ena:in std_logic;q:out std_logic_vector(3 downto 0);co:out std_logic );end component cntliu;component cntshi isport(end art;clk,clr,ena:in std_logic;q:out std_logic_vector(3 downto 0);co:out std_logic );end component cntshi;signal co1,co2,co3,co
7、4,co5:std_logic;begin-定义六进制计数器元件-定义十进制计数器元件-定义计数器元件进位输出信号u1:cntshi port map(clkk,clrr,en,dataout(3 downto 0),co1);u2:cntshi port map(co1,clrr,en,dataout(7 downto 4),co2);u3:cntshi port map(co2,clrr,en,dataout(11 downto 8),co3);u4:cntliu port map(co3,clrr,en,dataout(15 downto 12),co4);u5:cntshi port map(co4,clrr,en,dataout(19 downto 16),co5);u6:cntliu port map(co5,clrr,en,dataout(23 downto 20);end w;-元件例化语句,通过计数器级联实现数字秒表波形仿真十进制计数器仿真波形六进制计数器仿真波形秒表仿真波形