酷文首页  
站内搜索:
网站地图 | RSS订阅 | 收藏本站
经济论文
证券金融
工商管理
会计审计
法学论文
医药论文
社会论文
教育论文
计算机论文
艺术论文
哲学论文
财政税收
财务管理
公共管理
理学论文
政治论文
文学论文
工学论文
文化论文
实用文档
应用文
自考成考
演讲稿
法律文书
子栏目导行↓
网站赞助商↓
本类热点↓
本类更新↓
热门标签↓
网摘收藏↓

基于FPGA的等精度数字频率计的设计与实现

作者:李 增 盈
来源:酷文网
点击:
载入中...
加入时间:2008-08-02
字体大小:[  ]

由仿真波形图可看到计数器的输入端CLK为待测信号的输入。CLR为清零信号,ENA为计数信号,当CLR=0且ENA=1时,计数器开始计数,由波形图可清楚地看见计数器的输出端CQ记录了待测信号的脉冲个数(0001,0010,0011,0100,0101)。当CLR=1时,计数器对计数结果进行清零,所以CQ输出端在0101后出现了0000,表示计数器已经清零。由分析可知设计与预期结果一致,有时钟使能的十进制计数器设计正确。
4.3 32位锁存器(REG32B)设计
锁存器是数字系统的重要组成部分,数据处理单元的结果需要锁存,许多处理单元的初始化也需要存放在锁存器里。锁存器还可以完成一些特殊的功能,如多路复用,数值计算,脉冲形成,特殊序列产生以及数字频率合成等。
此次要设计的锁存器是一个32位的锁存器,用于锁存8个十进制计数器的计数结果,并将计数值送入8个7段数码显示管上。为了实现锁存计数值的功能,当测频控制信号发生器产生的Load信号为高电平输入锁存器时,锁存器将8个十进制计数器的计数结果锁存住。32位锁存器的设计流程图如下所示。
 
图9 32位锁存器流程图
Fig 9  32bit  of  flip-latch  flow  chart
32位锁存器的VHDL源程序经过编译,并且经过仿真后得到的仿真波形图如下所示。

 
图10 锁存器仿真波形图
Fig 10  wave of simulation  flip-latch
由仿真波形图可看到当锁存器的输入信号Load=1时,Din=Dout。由分析可知设计与预期结果一致,32位锁存器设计正确。
4.4 7段显示译码器(LED7)设计
7段显示译码器用于将32位锁存器的锁存值译码成可以在数码管上显示的频率计的计数值。7段显示译码器由4个逻辑电平开关作为BCD4[3…0]的四位输入,输出信号对应数码管的显示段,为高电平时对应的段发亮。
7段显示译码器的VHDL源程序经过编译,并且经过仿真后得到的仿真波形图如下所示。
 
图11 译码器仿真波形图
Fig 11  wave of simulation encoder
由仿真波形图可看到当译码器的输入端sin=1111时,dout=1110001,sin=1100时,dout=0111001。由分析可知设计与预期结果一致,7段显示译码器设计正确。

4.5 8位十进制等精度数字频率计顶层文件设计
若按传统的设计方法,完成8位十进制数字频率计需用上述的四种器件共计十几块芯片构成,不仅体积大, 而且因外接引脚多,影响可靠性。而采用EDA技术,整个设计分仅两步:第一步,先用VHDL语言分别编写出以上四种器件的文本文件(称为底层文件),并将它们分别转换成相应的器件,然后分别进行时序仿真,使每个器件的时序仿真结果与设计要求一致;第二步,将这四种器件共十几块芯片以电路图形式连接起来,形成顶层文件后进行整个系统的综合,并将整个频率计作为一个器件进行时序仿真。虽然采用电路图方法连接以上模块仿真的办法比较简单,但是使用这种方法存在一个较大的缺陷,那就是有可能使电路系统在工作中出现“毛刺”,从而降低系统的可靠性,而且采用这种图形化编译方法不易于复杂电路系统的维护和升级,因而这种方法只适合应用于简单电路系统里。因此,最终的顶层文件最好是用纯文本形式来编写,即用 VHDL语言来描述十几块芯片的连接,从而避免了系统在工作中出现“毛刺”现象,使系统的稳定性和可靠性均得到提高。
下面是分别采用电路图连接编译和采用纯VHDL语言编译的顶层文件比较。电路图连接编译的效果图如下所示。


图12  电路图方法编译顶层实体
Fig 12  use of circuit diagram compile entity
电路图左上的模块为测频控制信号发生器模块,左下为32位锁存器模块,中间是8个相同的10进制计数器模块,最右边的是8个相同的7段显示译码器模块,各模块的实体图如下所示。
由顶层实体图我们可以清楚地看到,频率计的结构臃肿,如果要实现频率计的计数功能,那么就一共需要18块FPGA芯片连接起来。而我们如果采用纯VHDL语言来编写顶层文件,最后实现相同的频率计计数功能就只需要一块芯片,频率计体积得到大大减小,成本也大大减少。频率计各个模块实体图如下所示。


测频控制信号发生器模块                  十进制计数器模块
controller block                       algorism counter block


32位锁存器                             7位显示译码器
32bit flip-latch                        7bit display encoder
图13 各个模块实体
Fig13 block entity

下面是采用VHDL语言编写顶层文件的源程序
library ieee;
    use IEEE.std_logic_1164.ALL;
    use IEEE.std_logic_unsigned.ALL;

    entity pin is
      port(
           FSIN:in std_logic;
           CLK:in std_logic;
           AA:out std_logic_vector(6 downto 0);
           BB:out std_logic_vector(6 downto 0);
           CC:out std_logic_vector(6 downto 0);
           DD:out std_logic_vector(6 downto 0);
           EE:out std_logic_vector(6 downto 0);
           FF:out std_logic_vector(6 downto 0);
           GG:out std_logic_vector(6 downto 0);转贴于 酷文网-论文下载中心 http://www.coolwen.net


共8页: 上一页 [1] [2] [3] 4 [5] [6] [7] [8] 下一页

网摘收藏:
免责声明 | 关于我们 | 广告联系 | 友情链接 | 网站地图 | 共同合作
免费论文 毕业论文 毕业论文范文 酷文网(www.coolwen.net) 版权所有 coolwen.net 2007,All Rights Reserved
E-mail:hui_love#tom.com(为防止垃圾邮件请把#换成@) 点击这里给我发消息 点击这里给我发消息
湘ICP备07003917号