实验三VHDL时序逻辑电路设计_第1页
实验三VHDL时序逻辑电路设计_第2页
实验三VHDL时序逻辑电路设计_第3页
实验三VHDL时序逻辑电路设计_第4页
实验三VHDL时序逻辑电路设计_第5页
全文预览已结束

下载本文档

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

文档简介

1、实验三VHDL时序逻辑电路设计、实验目的1. 熟悉用VHDL语言设计时序逻辑电路的方法2. 熟悉用Quartus文本输入法进行电路设计二、实验所用仪器元件及用途1. 计算机:装有 Quartus软件,为VHDL语言提供操作场所。2. 直流稳压电源:通过 USB接口实现,为实验开发板提供稳定电源。3. 数字系统与逻辑设计实验开发板:使试验结果下载到开发板上,实现整个实验的最终结 果。三、实验内容1. 用VHDL语言设计实现一个 8421码十进制计数器。(1) 实验内容及要求:在Quartus平台上设计程序和仿真题目要求,并下载到实验板上验证试验结果。(2) 试验结果:VHDL代码和仿真结果。2.

2、 用VHDL语言设计实现一个分频系数为8,分频输出信号占空比为 50%的分频器。(1) 实验内容及要求:在 Quartus平台上设计程序和仿真题目要求。(2) 试验结果:VHDL代码和仿真结果。3. 用VHDL语言设计实现一个控制 8个发光二极管亮灭的电路。(1) 实验内容及要求:在Quartus平台上设计程序和仿真题目要求,并下载到实验板上验证试验结果。a. 单点移动模式:一个点在8个发光二极管上来回的亮b. 幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次 往复c. 通过拨码开关或按键控制两种模式的转换(2) 试验结果:VHDL代码和仿真结果。四、实验设计思路及过程

3、abedABCD000000010001001000100011001101000100010101010110011001110111100010001001100100001.8421码十进制计数器状态转移表左图为8421码十进制计数 器的状态转移表,abed为初 状态,ABCD为下一状态, 每当有“ 1”出现时,相应 的管脚就亮灯,从而从0000 到1001的灯依次出现。VHDL代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cou nt12 ISPORT(clk,c

4、lear:IN STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END cou nt12;ARCHITECTURE a OF coun t12 ISSIGNAL q_temp:ATD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk)BEGINIF(clkeve nt and clk=1) THENIF clear=0 THENq_temp=0000;ELSIF q_temp=1011THENq_temp=0000;ELSEq_temp=q_temp+1;END IF;END IF;END PROCESS;q=q_t

5、emp;END a;abcABCF000001000101000100110011100010010111011101110111111100012分频系数为8,输出占空比为50%的分频器的设计VHDL代码为:左图为八分频器 (占空比 50%) 的状态转移图,其 中abc为原状态, ABC为下一状 态。当输出 F为“1 ”时,输出波 形。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY div_8 ISPORT(clk:IN STD_LOGIC; clear:IN STD_LOGIC;

6、 clk_out:OUT STD_LOGIC);END div_8;ARCHITECTURE a OF div_8 ISSIGNAL tmp:INTEGER RANGE 0 TO 7;BEGINp1:PROCESS(clear,clk)BEGINIF clear=0THENtmp=0;ELSIF clkeve nt AND clk=1THENIF tmp=7 THENtmp=0;ELSEtmp=tmp+1;END IF;IF tmp=4 THENclk_out=0;ELSEclk_out=1;END IF;END IF;END PROCESS p1;END a;五、实验结果y*olub -r1

7、5.93ft 1clkk 0A (0:-q凶A 0-问A 0-qlk 0LqQjA 0一、.8421码十进制计数器5. UE 10 2415. 3S us 20. ue 2530 72 m 35 &4 ns 4D.jirLrLrLrLrLrLnjWLnnnrLrLmrLrLrmrLrLnrLrLrmnrLrLrLrLrLnrLnTLnnIItIrI_i_Oi_LM_Hi i一 i_i i_F ijnun_nwurLrwirL_runirL_rLn_rLrLjnun_rm_rLr其中,end time 设为 50us, clear 和 clk 的 period 分别为 1 和 1us.对结果进行

8、分析:由仿真波形可以看出,当输入在0000到1001时,输出对应亮灯随着1的出现依次变化, 每拨动一次时钟clk的锁定管脚,就由一个状态转换到下一状态,亮灯也进入下一状态。、八分频器(50%占空比)波形分析:每出现八次时钟为分频器的周期,输出的波形如图为占空比为50%勺矩形波,构成了如题所要求的分频器。六、故障及问题分析1. 每次实验中都应该注意到 VHDL的文件名应与实体名一致,如果不一致编译会报错。我在实验过程中虽然原理图设计名与工程名相同,但在其后某程序名上犯了错误,导致出错。2. 在仿真波形的观察中,一定要调节好zoom 选项,缩放出便于观察的波形。3. 在命名过程一定要注意规范,不要出现非法字符。4. 在做10进制计数器时,由于板的固有频率为晶振的频率 50兆赫兹,所以当以微秒级的时钟去自动跳变太快根本无法看清,应该加一段程序令时钟在微秒级跳变25兆次时外部时钟输出,从而令外部时钟变为秒级的,才能看见自动跳变现象。七. 总结和结论1. 本次实验是有关于 VHDL的第三次实验,在前几次的实验中已经基本掌握了软件的用法, 所以实验起来比较上手,还需要多加练习。2. 由于上次实验仅仅是运用图形工具,所以对VHDL语言的学习成了本次实验的难点,在仔细看过相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论