1、可以利用原件例化语句将各模块联系起状态信号(计数的使能信号EN),两片的CLK端同时接计数输入信号。 具体思路: 通过分频器将10M晶振所提供的信号进行10000分频,生成脉冲作为计时信号,经计数器累加计数实现数字秒表计数的功能。设计采用七位LED数码管显示分、秒,需要5个10计数器和2个6计数器。使用按键开关可实现开始/结束计时操作以及复位清零操作。 设计 整个系统设计是采用自顶向下分析,自底向上设计。将数字秒表系统的整体分解为各个模块电路。 1.顶层电路设计 在顶层设计中,要对内部分各功能块的连接关系和对外的接口关系进行描述,而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。 数
2、字秒表原理图顶层电路图 根据数字秒表的原理图来进行顶层文件的设计。此次设计中使用了总线,从而简化了顶层电路图的绘制。 2 时钟分频电路模块 在基于EDA技术的数字电路系统设计中,分频电路应用十分广泛。常常用分频电路来得到数字系统中各种不同频率的控制信号。所谓分频电路,就是将一个给定的频率较高的数字输入信号经过适当处理后,产生一个或数个频率较低的数字输出信号。 本设计需要一个计时范围为0.001s59分59.999秒的秒表,首先输入一个频率为10MHZ时钟信号源,由CLK输入,经其进行10000分频后获得一个比较精确的1000Hz计时脉冲,即周期为1/1000秒的计时脉冲,由CLR_CNT输出。
3、分频器符号 3 十进制计数控制模块 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。 此次设计中为程序方便没有将按键控制功能单独设为一个模块,而是将其添加到了普通十进制计数器程序中,将两者综合生成十进制计数控制模块。十进制计数控制模块符号CLK为时钟信号输入端、RST为复位信号输入端、 EN为使能控制信号输入端、 DOUT3.0为十进制计数数据输出端、 COUT为进位信号输出端。 4 六进制计数控制模块 六进制计数器与十进制计数器类似,同样此处为程序方便没有将按键控制功能单独设为一个模块
4、,而是将其添加到了普通六进制计数器程序中,将两者综合生成六进制计数控制模块。六进制计数控制模块符号 CLK为时钟信号输入端、RST为复位信号输入端、 EN为使能控制信号输入端、 DOUT3.0为六进制计数数据输出端、 COUT为进位信号输出端。三 软件设计与仿真3.1时钟分频电路模块 程序library ieee;use ieee.std_logic_1164.all;entity CLKGEN isport(clki:in std_logic; clko:out std_logic); end CLKGEN;architecture behav of CLKGEN issignal q:in
5、teger range 0 to 9999;begin process(clki,q)beginif clkievent and clki = 1 thenq=q+1;end if;if q = 1 thenclko ); ELSIF CLKEVENT AND CLK = THEN IF EN = IF Q5 THEN Q := Q + 1; ELSE END IF; ELSE Q := Q ; END IF; END IF; IF Q = 0101 THEN COUT ELSE COUT DOUTEND PROCESS;END behav; 六进制计数控制模块仿真六进制计数控制模块仿真结果3.3十进制计数控制模块ENTITY CNT10 IS END CNT10;ARCHITECTURE behav OF CNT10 IS9 THEN 1001十进制计数控制模块仿真十进制计数控制模块仿真结果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1