ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:187.31KB ,
资源ID:27641804      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27641804.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA频率计设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA频率计设计.docx

1、EDA频率计设计 八位十六进制频率计设计摘要 频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。可用来测量频率、时间、周期、计数。该设计是利用VHDL语言实现频率计的功能,频率计主要由四个模块构成: 计数模块、锁存模块 显示模块以及控制模块。对各个部分的设计思路、对各部分电路设计方案的选择、元器件的筛选、以及对它们的调试、对调试结果的分析,最后得到实验结果的方方面面。 关键字:频率计、VHDL、元件例化。Abstract Frequency meter is called for frequency counter ,which is a specialized meas

2、uring device to be used for measuring measured signal frequency .It can be used to measure frequency,time,period, layout make use of VHDL language to come true the function of frequency meter,it is made up of four blocks which are counting block,registering block,showing block and curbing ,electric

3、circuit project design ,component screen , shakedown test and analysing result of every part,finally getting all aspects of experimenting result.Key : frequency meter, VHDL,component.一原理 八位十六进制频率计是由TFCTRL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计中的32位二进制计数器COUNTER32B的ENABL使能进行同步控制。当CNT_EN高电平时允许计数;低电平时停止计数,并保

4、持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前一秒钟的计数值锁存进各锁存器REG32B中,并由八位十六进制7段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清零信号而不断闪烁。锁存信号后,必须有清零信号RST_CNT对计数器进行清零,为下一秒的计数操作作准备。二方案论证 用VHDL设计电路系统,可以把任何复杂的电路系统视为一个模块,对应一个设计实体。在VHDL层次化设计中,它所设计的模块既可以是顶层实体,又可以是较低层实体,但对不同层次模块应选择不同的描述方法。在系统的底层设计中,采用VHDL进行描述,由于其对系统很强的行为描述能力

5、,可以不必使系统层层细化,从而避开具体的器件结构,从逻辑行为上直接对模块进行描述和设计,之后,EDA软件中的VHDL综合器将自动将程序综合成为具体FPGACPLD等目标芯片的网表文件,无疑可使设计大为简化。VHDL特点:/1.能形式化地抽象表示电路的行为和结构;2. 支持逻辑设计中层次与范围地描述;3. 可借用高级语言地精巧结构来简化电路行为和结构;具有电路仿 真与验证机制以保证设计的正确性;4. 支持电路描述由高层到低层的综合转换;5. 硬件描述和实现工艺无关; 6. 便于文档管理7. 易于理解和设计重用总体框图三各模块的实现和功能仿真1、测频控制模块 设计频率计的关键是设计一个测频率控制信

6、号发生器,产生测量频率的控制时序。控制时钟信号clk1取为1Hz,2分频后即可查声一个脉宽为1秒的时钟cnt-en,一此作为计数闸门信号。当cnt-en为高电平时,允许计数;当cnt-en由高电平变为低电平(下降沿到来)时,应产生一个锁存信号,将计数值保存起来;锁存数据后,还要在下次cnt-en上升沿到来之前产生零信号rst_en,将计数器清零,为下次计数作准备。 程序:LIBRARY IEEE;USE FIC1 ISPORT (CLK1:IN STD_LOGIC; CNT: OUT STD_LOGIC; RST:OUT STD_LOGIC; LOAD:OUT STD_LOGIC);END F

7、IC1;/ARCHITECTURE one OF FIC1 IS SIGNAL M: STD_LOGIC;BEGINPROCESS (CLK1)BEGINIF CLK1 EVENT AND CLK1=1 THEN M= NOT M;END IF;END PROCESS;PROCESS (CLK1,M)BEGINIF CLK1=0 AND M=0 THEN RST=1;ELSE RST =0;END IF;END PROCESS;LOAD = NOT M;CNT =M;END one;仿真结果:2.计数模块计数器以待测信号作为时钟,清零信号rst到来时,异步清零;cnt-en为高电平时开始计数。

8、计数是以十进制数显示,本文设计了一个简单的10kHz以内信号的频率机计,如果需要测试较高的频率信号,则将cout的输出位数增加,当然锁存器的位数也要增加 。程序:?LIBRARY IEEE;USE CNT32 ISPORT (CLR:IN STD_LOGIC; EN:IN STD_LOGIC; FIN:IN STD_LOGIC; COUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END CNT32;ARCHITECTURE two OF CNT32 ISSIGNAL CQI : STD_LOGIC_VECTOR(31 DOWNTO 0);BEGIN PROCE

9、SS (CLR,EN,FIN) BEGINIF CLR=1 THEN CQI 0);ELSIF FIN EVENT AND FIN=1 THENIF EN=1 THEN CQI = CQI+1;END IF;END IF;、END PROCESS;COUT =CQI;END two; 仿真结果:3、锁存模块 当cnt-en下降沿到来时,将计数器的计数值锁存,这样可由外部的七段译码器 译码并在数码管显示。设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存器的位数应跟计数器完全一样。程序:?LIBRARY IE EE; ENTITY REG32A ISPORT( LK :I

10、N STD_LOGIC;DIN:INSTD_LOGIC_VECTOR (31 DOWNTO 0);DOUT: OUT STD_LOGIC_VECTOR (31 DOWNTO 0);END REG32A;ARCHITECTURE three OF REG32A ISBEGINPROCESS (LK,DIN)BEGINIF LK EVENT AND LK=1 THEN DOUT LED7S1LED7S1LED7S1LED7S1LED7S1LED7S1LED7S1LED7S1=0000111;LED7S1LED7S1LED7S1LED7S1LED7S1LED7S1LED7S1LED7S1 NULL;

11、END CASE;END PROCESS;PROCESS(Q) VARIABLE Q2:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINQ2:=Q(4)&Q(5)&Q(6)&Q(7); CASE Q2 IS WHEN 0000=LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2 NULL;END CASE;END PROCESS;PROCESS(Q) VARIABLE Q3:STD_LOGIC_VECTOR(3 DOWNTO 0);

12、 BEGINQ3:=Q(8)&Q(9)&Q(10)&Q(11); CASE Q3 IS- WHEN 0000=LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3LED7S3 NULL;END CASE;END PROCESS;PROCESS(Q) VARIABLE Q4:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINQ4:=Q(12)&Q(13)&Q(14)&Q(15); CASE Q4 IS WHEN 0000=LED7S4LED7S4LE

13、D7S4LED7S4LED7S4LED7S4LED7S4LED7S4LED7S4LED7S4LED7S4LED7S4LED7S4LED7S4LED7S4LED7S4 NULL;END CASE;END PROCESS;PROCESS(Q) VARIABLE Q5:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINQ5:=Q(16)&Q(17)&Q(18)&Q(19); CASE Q5 IS WHEN 0000=LED7S5LED7S5LED7S5LED7S5LED7S5LED7S5LED7S5LED7S5LED7S5LED7S5LED7S5LED7S5LED7S5LED7S

14、5LED7S5LED7S5 NULL;END CASE;END PROCESS;PROCESS(Q) VARIABLE Q6:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINQ6:=Q(20)&Q(21)&Q(22)&Q(23); CASE Q6 IS$ WHEN 0000=LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6LED7S6 NULL;END CASE;END PROCESS;PROCESS(Q) VARIABLE Q7:STD_L

15、OGIC_VECTOR(3 DOWNTO 0); BEGINQ7:=Q(24)&Q(25)&Q(26)&Q(27); CASE Q7 IS| WHEN 0000=LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7LED7S7 NULL;END CASE;END PROCESS;PROCESS(Q) VARIABLE Q8:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINQ8:=Q(28)&Q(29)&Q(30)&Q(31); CASE Q8 I

16、S? WHEN 0000=LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8LED7S8 NULL; END CASE;END PROCESS; END four; 仿真结果:4.顶层模块为了达到连接底层元件形成更高层次的电路设计结构,设计中使用了例化语句程序::LIBRARY IEEE;USE FRE8 ISPORT( CLK :IN STD_LOGIC; fin :IN STD_LOGIC;LED7S1,LED7S2,LED7S3,LED7S4,LED7S5,L

17、ED7S6,LED7S7,LED7S8:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END FRE8;ARCHITECTURE bhv8 OF FRE8 IS COMPONENT FIC1 PORT (CLK1:IN STD_LOGIC; CNT: OUT STD_LOGIC; RST:OUT STD_LOGIC; LOAD:OUT STD_LOGIC); END COMPONENT; COMPONENT CNT32 PORT (CLR:IN STD_LOGIC; EN:IN STD_LOGIC; fin:IN STD_LOGIC; COUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0); END COMPONENT; COMPONENT REG32A PORT( LK :IN STD_LOGIC; DIN :IN STD_LOGIC_VECTOR (31 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR (31 DOWNTO 0);END COMPONENT;COMPONENT DECL7SPORT (Q:IN STD_LOGIC_VECTOR(31 DOWNTO 0); LED7S1,LED7S2,LED7S3,LED7S4,LE

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1