序列检测器的设计_第1页
序列检测器的设计_第2页
序列检测器的设计_第3页
序列检测器的设计_第4页
序列检测器的设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、黄淮学院信息工程学院2013-2014学年度第一学期EDA课程设计报告一、 基本信息项目名称: 序列检测器的设计 姓名: 牛晓瑞 臧艺迪 学号:、10 班级:通信1101B专业:通信工程实验类型:综合型 实验学时:6学时实验时间:2013-11-28、12-05 1 了解序列检测器的工作原理;2 掌握时序电路设计中状态机的应用;3 进一步掌握用VHDL 语言实现复杂时序电路的设计过程。二、 实验目的及要求1 PC机 一台;2 Altera Blaster下载器 一根;3 KHF-5实验箱 一台。三、 实验环境实验原理:1) 序列检测器在很多数字系统中都不可缺少,尤其是在通信系统当中。序列检测器

2、的作用就是从一系列的码流中找出用户希望出现的序列,序列可长可短。比如在通信系统中,数据流帧头的检测就属于一个序列检测器。序列检测器的类型有很多种,有逐比特比较的,有逐字节比较的,也有其他的比较方式,实际应用中需要采用何种比较方式,主要是看序列的多少以及系统的延时要求。现在就逐比特比较的原理简单的介绍一下。2)逐比特比较的序列检测器是在输入一个特定波特率的二进制码流中,每进一个二进制码,预期望的序列相比较。首先比较第一个码,如果第一个码与期望的序列的第一个码相同,那么下一个进来的二进制码再和期望的序列的第二个码相比较,依次比较下去,直到所有的码都和期望的序列相一致,就认为检测到一个期望的序列。如

3、果检测过程中出现一个码与期望的序列当中对应的码不一样,则从头开始比较。实验内容: 本实验就是要设计一个序列检测器,要求检测的序列长度为8 位,实验中用拨挡开关的SW1SW8 来作为外部二进制码流的输入,在FPGA 内部则是逐个比较。同时用按键模块的S1 来作为一个启动检测信号,每按下S1 一次,检测器检测一次,如果序SW1SW8 输入的序列与VHDL 设计时期望的序列的一致,则认为检测到一个正确的序 本实验设计一个频率计,系统时钟选择核心板上的50MHz的时钟,闸门时间为1s,在闸门为高电平期间,对输入的频率进行计数,当闸门变低的时候,记录当前的频率值,并将频率计数器清零,频率的显示每过2秒刷

4、新一次。被测频率通过一个拨动开关来选择是使用系统中的数字时钟源模块的时钟信号还是从外部通过系统的输入输出模块的输入端输入一个数字信号进行频率测量。当拨动开关为高电平时,测量从外部输入的数字信号,否则测量系统数字时钟信号模块的数字信号。步骤如下:1 打开QUARTUSII 软件,新建一个工程。2 建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。3 按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序,参照提供的示例程序。4 编写完VHDL 程序后,保存起来。方法同实验一。5 将编写的VHDL 程序进行编译并生成模块符号文件,并对程序的错误进行修改,最终所有程序

5、通过编译并生成模块符号文件。四、 实验内容列,否则如果有一个不同,则认为没有检测到正确的序列。另外为了便于观察,序列检测结果用一个LED 显示,本实验中用LED 模块的D1来显示,如果检测到正确的序列,则LED 亮起,否则LED 熄灭;用数码管来显示错误码的个数。另外就是序列检测时钟信号的输入,本实验选择时钟模块的1KHz信号。实验步骤:1) 打开QUARTUSII 软件,新建一个工程。2) 建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。3) 按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序,用户可参照光盘中提供的示例程序。4) 编写完VHDL 程序后

6、,保存起来。方法同实验一。5) 对编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。6) 编译仿真无误后,依照用户手册进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。7) 用下载电缆通过JTAG 口将对应的sof 文件加载到FPGA 中。8) 将数字信号源模块F的时钟选择为1KHZ,拨动八位拨动开关(SW8SW1),使其为一个二进制数值,注意此时SW8代表高位。按下键盘模块的S1 键开始检测。如果八位拨动开关设定的二进制值与程序设定的值相同,观察发光管模块的D1 的状态以及数码管上显示的值。如果与程序设定的值不同,观察发光管模块的D1的状态以及数码管上显示的值。观察实验结

7、果是否与自己的编程思想一致。9) 实验完毕,关闭电源,整理实验器材。五、实验分析及总结 一、 VHDL程序: - Title:序列检测器 - - Author: - - Data: 2006-10-1 - -library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all; -entity exp18 is port( Clk : in std_logic; -时钟输入 K : in std_logic_vector(7 downto 0); -序列输入 S

8、tart : in std_logic; -输入:启动检测 ledag : out std_logic_vector(6 downto 0); del : out std_logic_vector(7 downto 0); -结果输出 led : out std_logic ); end exp18;-architecture behave of exp18 is signal m_Count : integer range 0 to 15; signal Start_Flag : std_logic; signal Error_Num : std_logic_vector(3 downto

9、0); signal ABC : std_logic_vector(7 downto 0); signal m_Result : std_logic_vector(7 downto 0); signal led_count : std_logic_vector(6 downto 0); signal sel_count : std_logic_vector(2 downto 0); signal sel: std_logic_vector(2 downto 0); begin ABC=; -待检测序列值 process(Clk) begin if(Clkevent and Clk=1) the

10、n if(Start=0) then Start_Flag=7) then Start_Flag=0; end if; end if; end process; process(Clk) -计数器累加 begin if(Clkevent and Clk=1) then if(Start=0) then m_Count=0; elsif(Start_Flag=1) then m_Count=m_Count+1; else m_Count=15; end if; end if; end process; process(Clk) -波形判断 begin if(Clkevent and Clk=1)

11、 then if(Start=0) then Error_Num=0000; elsif(m_Count=7 and K(m_Count)/=ABC(m_Count) then Error_Num=Error_Num+1; end if; end if; end process; process(Clk) -波形判断 begin if(Clkevent and Clk=1) then if(Start=0) then m_Result(7 downto 4)=0000; elsif(m_Count=8) then if(Error_Num=0000) then m_Result(7 downt

12、o 4)=1000; else m_Result(7 downto 4)=0000; end if; end if; m_Result(3 downto 0)=Error_Num; end if; end process;process(Clk) -显示位选 begin if(Clkevent and Clk=1) then sel_count=sel_count+1; end if; selled_countled_countled_countled_countled_countled_countled_countled_countled_countled_countled_countled

13、_count=; -全灭 end case; ledag=led_count; end process; process(Error_Num) -检测数据是否正确 begin if(Error_Num=0000) then led=1; else led del del del del del del del del= ; end case; end process;end behave;二、仿真波形 三、引脚配置五、 将SOF文件转化为JTAG间接配置文件六、 下载JIAG间接配置文件七、 将JIC文件导入KHF-5实验箱在实验箱中,调节SW1SW8至“”,(注:SW8为高位),按下N1进行复位,此时LED1灯亮,数码管显示“0”;任意调节SW1SW8,(与对比),若有一位不一样,LED1灯不亮且数码管显示“1”;重复上述步骤;每调节一次SW1SW8,都要按下N1进行复位,然后观察LED1灯和数码管的显示。八、实验总结这次课程设计历时二个星期多左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高,有如下心得: 1、设计性实验最

温馨提示

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

评论

0/150

提交评论