




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4位十进制频率计的设计一、 主要指标和要求1. 设计4位十进制频率计,学习较复杂的数字系统设计方法;2. 深入学习数字系统设计的方法与步骤;3. 用元件例化语句写出频率计的顶层文件;4. 用VHDL硬件描述语言进行模块电路的设计;5. 设计硬件要求:PC机,操作系统为Windows2000/XP,本课程所用系统均为max+plus II 5.1设计平台,GW48系列SOPC/EDA实验开发系统。二、工作原理以及方案选择原理工作说明:根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期
2、作准备的计数器清0信号。这3个信号可以由一个测频控制信号发生器产生,即图(a)中的TESTCTL,它的设计要求是,TESTCTL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要产生一个锁存信号LOAD,在该信号上升沿时,将计数器在前1秒钟的计数值锁存进各锁存器REG4B中,并由外部的7段译码器译出,显示计数值。设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须有一清零信号RST_CNT对计数
3、器进行清零,为下1秒钟的计数操作作准备。其工作时序波形如图(a)。图(a) 频率计测频控制器TESTCTL测控时序图图(b) 4位十进制频率计顶层文件原理图选择的设计方案:1. 根据频率计的工作原理,将电路划分成控制器、计数器、锁存器和LED显示几个模块, 控制器产生1秒脉宽的计数允许信号、锁存信号和计数器清零信号计数器对输入信号的脉冲数进行累计锁存器锁存测得的频率值LED显示将频率值显示在数码管上2. 根据图(a)、(b)及(1)(2)描述的4位十进制频率计的工作原理,利用max+plusII 5.1对以上三者的程序进行文本编辑输入和仿真测试并根据图(b),写出频率计的顶层文件,并给出其测频
4、时序波形,及其分析。3. 频率计设计硬件验证。编译、综合和适配频率计顶层设计文件,并编程下载进入目标器件中。本实验目标器件是EP1K30TC144-3,实验电路选择模式0,4个数码管(数码4-1:PIO31-PIO16)显示测频输出;待测频率输入FIN由clock0输入,频率可选4Hz、256HZ . . .或更高;1HZ测频控制信号F1HZ可由clock2输入(用电路帽选选1Hz)。三、各模块及顶层文件的设计(1)、十进制计数library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt1
5、0 is port (rst,clk,ena:in std_logic; cout: out std_logic; outy :out std_logic_vector(3 downto 0);end cnt10;architecture behv of cnt10 isbegin process (rst,ena,clk) variable cqi :std_logic_vector(3 downto 0);begin if rst=1 then cqi :=(others =0); elsif clkevent and clk=1 then if ena =1 then if cqi 9
6、then cqi:=cqi+1;cout0); cout0); end if;end if; outy clk,rst=rst,ena=ena,cout=e(0),outy=d(3 downto 0);u2:cnt10 port map(clk=e(0),rst=rst,ena=ena,cout=e(1),outy=d(7 downto 4);u3:cnt10 port map(clk=e(1),rst=rst,ena=ena,cout=e(2),outy=d(11 downto 8);u4:cnt10 port map(clk=e(2),rst=rst,ena=ena,cout=e(3),o
7、uty=d(15 downto 12); end architecture one;(3)、四位锁存library ieee; use ieee.std_logic_1164.all;entity reg4b is port ( load : in std_logic; din : in std_logic_vector(3 downto 0); dout : out std_logic_vector(3 downto 0) );end reg4b;architecture behav of reg4b isbegin process(load, din)begin if loadevent
8、and load = 1 then dout = din; end if; end process;end behav;(3)(4)、测频控制器library ieee; -use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity testctl is port ( clkk : in std_logic; cnt_en,rst_cnt,load : out std_logic); end testctl;architecture behav of testctl is signal div2clk : std_log
9、ic;begin process( clkk ) begin if clkkevent and clkk = 1 then div2clk = not div2clk; end if; end process; process (clkk, div2clk) begin if clkk=0 and div2clk=0 then rst_cnt = 1; else rst_cnt = 0; end if; end process; load = not div2clk ; cnt_en a a a a a a a a a a a a a a a a null;end case;end proce
10、ss;end;总体例化library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith;use ieee.std_logic_signed;entity cntf isport(clk1:in std_logic; clk2:in std_logic;ledout:out std_logic_vector(27 downto 0);end entity;architecture one of cntf iscomponent testctl port (clkk:i
11、n std_logic; rst_cnt,cnt_en,load: out std_logic);end component;component cnt10_4port(fx,rst,ena:in std_logic; d:out std_logic_vector(15 downto 0);end component;component reg4b port(load: in std_logic; din : in std_logic_vector(3 downto 0); dout: out std_logic_vector(3 downto 0);end component;compone
12、nt led_controllerport(d:in std_logic_vector(3 downto 0); a:out std_logic_vector(6 downto 0);end component;signal x,y,z:std_logic;signal b,h:std_logic_vector(15 downto 0);signal leds:std_logic_vector(27 downto 0);beginu1: testctl port map(clkk=clk1,cnt_en=x,rst_cnt=y,load=z);u2: cnt10_4 port map(fx=c
13、lk2,rst=y,ena=x,d=b);u3: reg4b port map(load=z,din=b(3 downto 0),dout=h(3 downto 0);u4: reg4b port map(load=z,din=b(7 downto 4),dout=h(7 downto 4);u5: reg4b port map(load=z,din=b(11 downto 8),dout=h(11 downto 8);u6: reg4b port map(load=z,din=b(15 downto 12),dout=h(15 downto 12);u7: led_controller port map(d=h(3 downto 0),a=leds(6 downto 0);u8: led_controller port map(d=h(7 downto 4),a=leds(13 down
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子宠物智能定位器考核试卷
- 电感器在电力系统动态稳定性分析中的应用考核试卷
- 石材加工过程中的色彩管理考核试卷
- 肉类副产品加工新技术在提升食品安全水平中的应用考核试卷
- 电池制造与医疗救护设备考核试卷
- 粮食仓储管理考核试卷
- 现代农业园区建设与管理考核试卷
- 物联网城市安全与应急响应考核试卷
- 矿山机械信息化建设与数据管理考核试卷
- 新能源汽车动力电池级碳酸锂全球市场销售与推广合同
- 03D201-4 10kV及以下变压器室布置及变配电所常用设备构件安装
- 湖南中医药大学学位英语历年真题及答案
- DL-T+1860-2018自动电压控制试验技术导则
- 单螺杆泵说明书
- JT-T-1213-2018陆港设施设备配置和运营技术规范
- 五年级劳动课件收纳
- 行政复议法-形考作业2-国开(ZJ)-参考资料
- 2023-2024学年人教版数学八年级下册期中复习卷
- (高清版)TDT 1044-2014 生产项目土地复垦验收规程
- MBA-组织行为学课件
- 白云枕头-模板参考
评论
0/150
提交评论