位十进制频率计的设计计算机与电子等专业课程设计_第1页
位十进制频率计的设计计算机与电子等专业课程设计_第2页
位十进制频率计的设计计算机与电子等专业课程设计_第3页
位十进制频率计的设计计算机与电子等专业课程设计_第4页
位十进制频率计的设计计算机与电子等专业课程设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论