EDA实验报告序列检测器的VHDL设计

上传人:慢*** 文档编号:233025335 上传时间:2022-01-01 格式:DOC 页数:9 大小:701.50KB
返回 下载 相关 举报
EDA实验报告序列检测器的VHDL设计_第1页
第1页 / 共9页
EDA实验报告序列检测器的VHDL设计_第2页
第2页 / 共9页
EDA实验报告序列检测器的VHDL设计_第3页
第3页 / 共9页
EDA实验报告序列检测器的VHDL设计_第4页
第4页 / 共9页
EDA实验报告序列检测器的VHDL设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《EDA实验报告序列检测器的VHDL设计》由会员分享,可在线阅读,更多相关《EDA实验报告序列检测器的VHDL设计(9页珍藏版)》请在金锄头文库上搜索。

1、实验七 序列检测器的VHDL设计1、 实验目的用状态机实现序列检测器的设计,了解一般状态机的设计与应用。二、实验设计原理 序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串 行二进制码后,如果这组码与检测器中预先设置的码相同,则输出 1,否则输出 0。由于这种检测的关键在于正确码的收 到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。书上P168例5-11 描述的电路完成对序列数“11100101”的检测,当这一串序列数高位在前(

2、左移)串行进入检测器后,若此数与预置的密码数相同,则输出“A”,否则仍然输出“B”。3、 实验内容用VHDL状态机设计一个8位序列信号检测器。要求:利用QuartusII进行文本编辑输入、仿真测试并给出仿真波形,了解控制信号的时序,最后进行引脚锁定并完成硬件测试实验。程序设计及程序分析如下:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCHK IS PORT(DIN, CLK, CLR : IN STD_LOGIC; AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END SCHK;ARCHITECTURE be

3、hav OF SCHK IS SIGNAL Q : INTEGER RANGE 0 TO 8 ; SIGNAL D : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN D = “11100101” ; PROCESS( CLK, CLR ) BEGIN IF CLR = 1 THEN Q IF DIN = D(7) THEN Q = 1 ; ELSE Q IF DIN = D(6) THEN Q = 2 ; ELSE Q IF DIN = D(5) THEN Q = 3 ; ELSE Q IF DIN = D(4) THEN Q = 4 ; ELSE Q IF DIN

4、= D(3) THEN Q = 5 ; ELSE Q IF DIN = D(2) THEN Q = 6 ; ELSE Q IF DIN = D(1) THEN Q = 7 ; ELSE Q IF DIN = D(0) THEN Q = 8 ; ELSE Q Q = 0 ; END CASE ; END IF ; END PROCESS ; PROCESS( Q ) BEGIN IF Q = 8 THEN AB = “1010” ; ELSE AB = “1011” ; END IF ; END PROCESS ;END behav ;四、仿真分析编译仿真后的波形如下所示:由仿真结果可以看到,由

5、于预置的密码数是“11100101”,当输入的序列数与上述的数字相同,输出才由B变成A。五、硬件测试过程.按实验板“系统复位”键;.用键 2 和键 1 输入 2 位十六进制待测序列数“11100101”;.按键7复位(平时数码6指示显“B”);.按键 6(CLK) 8 次,这时若串行输入的 8 位二进制序列码(分别显示于数码管 2和数码管1 以及发光管 D8D0)与预置码“11100101”相同,则数码 6 应从原来的 B 变成 A,表示序列检测正确,否则仍为 B。6、 实验内容将8位待测预置数作为外部输入信号,即可以随时改变序列检测器中的比较数据。写出此程序的符号化单进程有限状态机。程序设计

6、如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCHK2 ISPORT (DIN,CLK,CLR: IN STD_LOGIC;SHR: IN STD_LOGIC_VECTOR(7 DOWNTO 0); AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY SCHK2;ARCHITECTURE behav OF SCHK2 IS SIGNAL Q : INTEGER RANGE 0 TO 8; SIGNAL D : STD_LOGIC

7、_VECTOR(7 DOWNTO 0); BEGIND=SHR; PROCESS(CLK,CLR) BEGIN IF CLR=1 THEN Q IF DIN=D(7) THEN Q=1; ELSE Q IF DIN=D(6) THEN Q=2; ELSE Q IF DIN=D(5) THEN Q=3; ELSE Q IF DIN=D(4) THEN Q=4; ELSE Q IF DIN=D(3) THEN Q=5; ELSE Q IF DIN=D(2) THEN Q=6; ELSE Q IF DIN=D(1) THEN Q=7; ELSE Q IF DIN=D(0) THEN Q=8; ELS

8、E Q Q=0; END CASE; END IF; END PROCESS; PROCESS(Q) BEGIN IF Q=8 THEN AB=1010; ELSE AB=1011; END IF; END PROCESS;END ARCHITECTURE behav;七、仿真分析编译仿真后的波形如下所示:待检测预置数为“00110011”待检测预置数为“11010011”由仿真结果可以看到,只有当输入的序列数与由外部输入的预置数字相同,输出才由B变成A。实验八 用 QuartusII 设计正弦信号发生器一、实验目的 进一步熟悉 QuartusII 及其 LPM_ROM 与 FPGA 硬件资源

9、的使用方法。二、实验设计原理正弦信号发生器的结构由4个部分组成:计数器或地址发生器(这里选择6位);正弦信号数据ROM(6位地址线,8位数据线),含有64个8位数据(一个周期);VHDL顶层设计、8位D/A(实验中用DAC0832代替)。顶层文件singt.vhd在FPGA中实现,包含两个部分:ROM的地址信号发生器,由6位计数器担任;正弦数据ROM,由LPM-ROM模块组成。LPM-ROM底层是FPGA中的EAB或M4K等模块。地址发生器的时钟CLK的输入频率f。3、 实验内容要求:在 Quartus II 上完成正弦信号发生器设计,包括时序仿真和资源利用情况了解。最后在实验系统上进行硬件测

10、试。程序设计如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SINGT ISPORT ( CLK : IN STD_LOGIC; DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );END;ARCHITECTURE DACC OF SINGT ISCOMPONENT data_rom PORT(address : IN STD_LOGIC_VECTOR (5 DOWNTO 0); inclock : IN STD_LOGIC ;q : OUT

11、 STD_LOGIC_VECTOR (7 DOWNTO 0);END COMPONENT;SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0); BEGINPROCESS(CLK ) BEGINIF CLKEVENT AND CLK = 1 THEN Q1Q1, q = DOUT,inclock=CLK);END;四、实验过程定制初始化波形数据文件:建立.mif格式文件。Filenewother files,选择 Memory Initialization File选项,选择64点8位的正弦数据,弹出表格后输入教材图4-38中的数据。然后以romd.mif的名字保

12、存至新建的文件夹中。定制LPM_ROM元件:利用MegaWizard Plug-In Manager定制正弦信号数据ROM宏功能块,并将以上的波形数据加载于此ROM中。并以data_rom.vhd名字将生成的用于例化的波形数据ROM文件保存至上述文件夹中。用VHDL语言完成正弦信号发生器的顶层设计:此过程与实验七的步骤类似。五、仿真分析编译仿真后的波形如下所示:由仿真波形可以看到,随着每一个时钟上升沿的到来,输出端口将正弦波数据依次输出。将这些数据与图4-38和图4-39所示的加载与LPM_ROM的数据比较,可以看出,设计是正确的。五、硬件测试过程选择电路模式No.5,时钟接实验箱上的CLOCK0;将DOUT(0)、DOUT(1)、DOUT(7)分别锁定于实验系统上与DAC0832相接的I/O口:PIO24、PIO25、PIO26、PIO27、PIO28、PIO29、PIO30、PIO31。编译下载后,打开+/-12V电压开关,选择CLOCK0的频率为750KHz,再将

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号