




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东建筑大学信息与电气工程学院课程设计说明书 目录摘要正文.1 1.设计目的和要求.1 2.设计原理.1 3.设计内容.1 摘要此次设计的主要目的是学习掌握频率计的设计方法,掌握动态扫描输出电路的实现方法,学习较复杂的数字系统的设计方法。通过单位时间(1秒)内频率的计数来实现频率的设计。此次设计主要用四位十进制计数器,所以频率计数范围为19999Hz。量程有1KHz,1MHz两档,用LED灯指示。且读数大于9999时,频率计处于超量程状态,发出溢出指示,下次量程,量程自动增大一档。读数小时,频率计处于前量程状态,下次测量,量程自动减小一档。然后锁存防止闪烁显示,最后由译码扫描显示电路输出到数码管进行显示输出。并且下载后能够进行仿真频率的计数和静态显示。通过这次的设计能够更清楚的理解VHDL程序的描述语言,进行简单程序的编写和仿真。关键词:EDA技术、频率、四位十进制、仿真、锁存显示 正文1.设计目的和要求(1)设计4位十进制频率计,学习较复杂的数字系统设计方法;(2)用VHDL硬件描述语言进行模块电路的设计;(3)掌握较为复杂的原理图层次化设计,熟悉详细的设计流程。2.设计原理 根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1S的输入信号脉冲计数允许的信号;1S计数结束后,计数值被锁入锁存器,计数器清零,为下一测评计数周期做好准备。测频控制信号可以由一个独立的发生器来产生。 FTCTRL的计数使能信号CNT_EN能产生一个1S脉宽的周期信号,并对频率计中的4位计数器couter4D的ENABL使能端进行同步控制。当CNT_EN高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上升沿将计数器在前一秒钟的计数值锁进锁存器REG4D中,并由外部的十进制7段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清零信号而不断闪烁。锁存信号后,必须有一清零信号RST_CNT对计数器进行清零,为下一秒的技术操作做准备。3.设计内容3.1模块划分四位十进制频率计四位锁存器测频控制电路四位计数器十进制加法计数器 设计一个四位十进制频率计,首先需要一个测频控制电路来产生一个脉宽为1S的输入信号脉冲计数允许的信号;然后需要一个4位计数器进行计数,由于我们设计的是四位的十进制的频率计,所以还需要用4个十进制的加法计数器来构成所需要的计数器;在技计数完成之后还需要一个锁存器将计数值进行锁存,从而使显示的数值稳定。3.2四位计数器设计(1)输入完整的VHDL语言描述,具体描述如下。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B IS PORT (CLK : IN STD_LOGIC; RST : IN STD_LOGIC; ENA : IN STD_LOGIC; OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT4B;ARCHITECTURE behav OF CNT4B IS SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP_REG: PROCESS(CLK, RST, ENA) BEGIN IF RST = 1 THEN CQI = 0000; ELSIF CLKEVENT AND CLK = 1 THEN IF ENA = 1 THEN CQI = CQI + 1; END IF; END IF; OUTY = CQI ; END PROCESS P_REG ; -进位输出 COUT=CQI(0) AND CQI(1) AND CQI(2) AND CQI(3);END behav; (2) 模块图形符号及逻辑功能描述如图1所示。 图1 四位计数器结构体(3) 仿真结果及分析,结果如图2所示。 图2 四位计数器仿真波形分析:对照波形进行分析,结果正确说明设计无误。3.3测频控制器的设计(1)输入完整的VHDL语言描述,具体描述如下。LIBRARY IEEE; -测频控制器USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TESTCTL IS PORT ( CLKK : IN STD_LOGIC; - 1Hz CNT_EN,RST_CNT,LOAD : OUT STD_LOGIC); END TESTCTL;ARCHITECTURE behav OF TESTCTL IS SIGNAL DIV2CLK : STD_LOGIC;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 = DIV2CLK;END behav;3.4四位锁存器的设计(1)输入完整的VHDL语言描述,具体描述如下。LIBRARY IEEE; -4位锁存器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 AND LOAD=1THEN DOUT 0); elsif(FXEVENT and FX = 1) then -在时钟信号FX的上升沿 if ENA=1 then -使能端为1,让信号从0-9进行计数 if CQI9 then CQI:= CQI+1; COUT0);COUT0);-使能端置0输出为0 END IF;end if;OUTYfb,ao=h0,bo=h1,co=h2,do=h3); u2:wx port map(k1=k1,k2=k2,k3=k3,k4=k4,ai=h0,bi=h1,ci=h2,di=h3, rst=rst,fb0=s0,g1=g1,g2=g2,g3=g3,g4=g4); u3:sz port map(clki=clk,clko=s1); u4:js port map(fb=s0,clk=s1,g5=g5,q=p0); u5:bcd port map(qi=p0,rst=rst,d1=d1,d2=d2,d3=d3,d4=d4); end bhv;分频程序u1:library ieee;use ieee.std_logic_1164.all;entity fp isport(fb1:in std_logic; ao,bo,co,do:buffer std_logic);end fp;architecture bhv of fp isbeginao=fb1;process(fb1)variable nu,nu1,nu2:integer range 0 to 1000:=0;beginif(fb1event and fb1=1)then nu:=nu+1;nu1:=nu1+1;nu2:=nu2+1;if(nu=5)then bo=not bo; nu:=0;end if;if(nu1=50)then co=not co; nu1:=0;end if;if(nu2=500)then do=not do; nu2:=0;end if;end if;end process;end bhv;位选程序u2:library ieee;use ieee.std_logic_1164.all;entity wx isport(ai,bi,ci,di,rst:in std_logic; k1,k2,k3,k4:in std_logic; g1,g2,g3,g4:out std_logic; fb0:out std_logic);end wx;architecture bhv of wx isbegin process(rst,k1,k2,k3,k4,ai,bi,ci,di)beginif(rst=1)then g1=0;g2=0;g3=0;g4=0;fb0=0;elsif(k1=1)then g1=1;g2=0;g3=0;g4=0; fb0=ai;elsif(k2=1)then g1=0;g2=1;g3=0;g4=0; fb0=bi;elsif(k3=1)then g1=0;g2=0;g3=1;g4=0; fb0=ci;elsif(k4=1)then g1=0;g2=0;g3=0;g4=1; fb0=di;end if;end process;end bhv;时钟程序u3:library ieee;use ieee.std_logic_1164.all;entity sz isgeneric (v:integer:=8);port(clki:in std_logic; clko:buffer std_logic);end sz;architecture bhv of sz isbegin process(clki)variable count:integer range 0 to v;beginif(clkievent and clki=1)then count:=count+1; if(count=v)then clko9999 or n=0)then g5=1; q=0; end if; end if; end if; if(clk=0)then q=m; n:=0; g5=0;end if;end process;end bhv;BCD转换u5:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;use ieee.std_logic_arith.all;entity bcd isport(qi:in integer range 0 to 10000; rst:in std_logic; d1,d2,d3,d4:buffer std_logic_vector(3 downto 0);end bcd;architecture bhv of bcd isbeginprocess(qi)constant a:integer:=1000;constant b:integer:=100;constant c:integer:=10;variable x1,x2,x3,x4,y,z:integer range 0 to 1000;beginif(rst=1)t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年执业药师之《西药学专业二》练习题包(夺冠系列)附答案详解
- 2024年自考专业(汉语言文学)通关题库及答案详解(全优)
- 2024-2025学年焊工考试每日一练试卷【轻巧夺冠】附答案详解
- 2025年云南省开远市中考数学复习提分资料完整版附答案详解
- 云计算虚拟机搭建与部署练习
- 医学体育养生法及搭配的原则与技巧
- 婚宴餐厅用餐规定
- 城市交通拥堵疏解方案
- 人寿保险投保规程
- 家庭康复医学专业指导
- 计划生育技术服务诊疗常规和操作常规
- 数字音频原理及应用 第4版 课件全套 第1-11章 声学基础知识 -音频测量与分析
- 2025-2030中国固态电池电解质材料研发突破与专利布局分析报告
- 医院医用耗材SPD服务项目投标方案(技术标)
- 2025年政府采购评审专家考试题库含答案
- 乡镇卫生院卫生协管课件
- 年产50万吨钙系列产品项目可行性研究报告
- 现代物流管理课件教学张余华
- 智能化公司员工管理制度
- PRO-3M-教材教学课件
- 体育与健康课程标准2022版考试题目含答案
评论
0/150
提交评论