EDA 课程设计M序列及相关检测器文档格式.docx
《EDA 课程设计M序列及相关检测器文档格式.docx》由会员分享,可在线阅读,更多相关《EDA 课程设计M序列及相关检测器文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
要求采用由状态机或串行滑窗方法检测器。
三.课程设计要求
1.要求独立完成设计任务。
2.课程设计说明书封面格式要求见《城建大学课程设计教学工作规》附表1
3.课程设计的说明书要求简洁、通顺,计算正确,图纸表达容完整、清楚、规。
4.测试要求:
根据题目的特点,采用相应的时序仿真或者在实验系统上观察结果。
5.课设说明书要求:
1)说明题目的设计原理和思路、采用方法及设计流程。
2)对各子模块的功能以及各子模块之间的关系作明确的描述。
3)对实验和调试过程,仿真结果和时序图进行说明和分析。
4)包含系统框图、电路原理图、HDL设计程序、仿真测试图。
指导教师(签字):
教研室主任(签字):
批准日期:
第一章系统分析
1.1QuartusII简介
QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。
具有运行速度快,界面统一,功能集中,易学易用等特点。
QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。
MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。
但QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。
Altera在QuartusII中包含了许多设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII友好的图形界面及简便的使用方法,所以QuartusII替代该公司早期的MaxplusII软件。
AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
Altera的QuartusII可编程逻辑软件属于第四代PLD开发平台。
该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。
改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。
支持MAX7000/MAX3000等乘积项器件。
第二章设计容及要求
2.1设计的目的及主要任务
2.1.1设计目的
学会在QuartusⅡ环境中运用VHDL语言设计方法构建具有一定逻辑功能的模块,并能运用图形设计方法完成顶层原理图的设计。
掌握序列信号检测器的原理和程序的编写以及在CPLD中的实现方法。
2.1.2设计容依据
2.2设计思想
本次课程设计在QuartusⅡ环境中对序列信号检测器的各个部分利用VHDL这一硬件描述语言来设计各个模块。
整个电路包括分频器模块、序列输入模块、序列检测模块[6]。
而整个设计的核心部分就在序列检测模块,该模块利用状态机来编写程序。
随后运用QuartusⅡ中的仿真功能对各个模块进行仿真,从仿真的结果中分析程序的正确性。
待所有模块的功能正确之后,运用原理图搭建顶层电路并进行整体仿真实现整体的功能,最后再在实验箱上检验设计的正确与否,并输出标志信号。
第三章设计原理与模块分析
3.1序列检测器介绍
序列检测器就是将一个指定序列从数字码流中识别出来。
序列检测器在数据通讯,雷达和遥测等领域中用与检测步识别标志。
它是一种用来检测一组或多组序列信号的电路。
序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
3.2序列检测器设计原理
序列信号检测器是具有能识别任意一串二值信号中某特殊码组功能的逻辑电路。
通过输入任意一组想要检测的序列信号,通过状态转移这一部分的检测,来识别这组序列。
序列信号检测电路在序列信号正常工作时,如果检测到待测码组,则电路输出识别信号,本次设计中使用一个发光二极管LED灯来表示,灯亮则表示检测到正确的序列,灯灭表示检测的序列错误。
设计序列信号检测器的关键在于获取正确的状态转移图。
为了减少错误检测的概率,凡是序列信号检测器都应该预置起始状态。
3.3序列检测器模块
序列信号检测器一共有三个主模块,分频模块,序列信号输入模块,序列检测模块。
原理框图如下图所示。
分频模块
序列输
入模块
序列
检测
模块
输入时
钟信号
输入序
列信号
输出标
志信号
图1序列检测器系统原理框图
3.3.1分频器模块
由于实验箱上的时钟信号是20MHz,对于本实验频率过大,需要一个分频模块得到我们需要的频率。
分频模块的逻辑图如下。
图2分频器逻辑图
3.3.2序列输入模块
通过设计一个序列输入模块,将所需要检测的序列输入检测模块进行检测,本次所需检测的序列是十位二进制码,设计十一个输入端口,一个清零端rst,十个序列输入口,在实验箱上通过十一个拨码开关控制。
其逻辑图如下图所示。
图3序列输入逻辑图
3.3.3序列检测模块
设计要求序列信号检测器能够从收到的一组串行码流中检出同步码组,我们预先设定该码组为1110101101,同时输出检测结果标志信号,即LED灯亮。
该检测模块有三个输入信号,即时钟信号输入端CLK,清零端RST,预设初始状态,序列输入端DIN,一个输出信号Q输出检测结果。
图4序列检测逻辑图
输入信号DIN是一组串行二进制码,输出信号Q是检测结果标志信号,若检测到预设码组则其值为1,否则为0。
检测器每收到一个符合要求的串行码,就需要一个状态进行记忆,因为要求检测的同步码组有10位,因此需要10个状态(S1~S10)。
此外,检测器还要预置初始状态,根据设计要求,设检测器的初始状态为S0。
我们定义检测过程中的状态S0~S10如:
S0=0;
S1=1;
S2=11;
S3=111;
S4=1110;
S5=11101;
S6=111010;
S7=1110101;
S8=11101011;
S9=111010110;
S10=1110101101。
序列检测器的状态转换图如下图所示。
图中S0/0表示序列状态机的状态为S0,输出为0。
图5序列检测器状态转换图
从图中可以看出,当序列检测器的状态为S0,如果输入信号为1,则状态装换为S1,否则维持原状态;
当序列检测器状态为S1,如果输入信号为1,则状态装换为S2,否则转换为S0;
当序列检测器的状态为S2,如果输入信号为1,则状态转换为S3,否则转换为S0;
当序列检测器的状态为S3,如果输入信号为0,则状态转换为S4,否则保持原态S3;
当序列检测器的状态为S4,如果输入信号为1,则状态转换为S5,否则转换为S0;
当序列检测器的状态为S5,如果输入信号为0,则状态转换为S6,否则转换为S2;
当序列检测器的状态为S6,如果输入信号为1,则状态转换为S7,否则转换为S0;
当序列检测器的状态为S7,如果输入信号为1,则状态转换为S8,否则转换为S0;
当序列检测器的状态为S8,如果输入信号为0,则状态转换为S9,否则转换为S3;
当序列检测器的状态为S9,如果输入信号为1,则状态转换为S10,否则转换为S0;
当序列检测器的状态为S10,此时输出信号为1,如果输入信号为0,则状态转换为S0,否则转换为S1。
3.4顶层文件
将各个模块完成以后,设置顶层文件,根据系统的原理框图将各个模块连接起来。
按已经确立的层次化设计思路,在图形编辑中调入前面的层次化设计方案中所设计的底层的元件符号div.sym、xlsr.sym、xljc.sym,并加入相应的输入输出引脚与辅助元件。
完成序列检测器的顶层原理图搭建,最终得到的顶层电路原理图如下图所示。
图6序列信号检测器顶层电路原理图
第四章电路仿真与分析
4.1单元模块的仿真与分析
4.1.1分频器模块的仿真与分析
实验箱上20MHz频率输入分成较小的时钟频率,如10Hz,1Hz等。
所设计的分频器的仿真波形如下图所示。
图7分频器仿真波形图
上图中clk为原本实验箱上的时钟输入,经过分频器分频后,输出Q的频率明显比原频率小。
本次课设是将20MHZ的时钟输入频率分成1HZ的频率。
4.1.2序列信号输入模块的仿真与分析
本次课设要求检测的序列为1110101101,通过VHDL语言设计序列输入的源程序,设计十个输入口p1~p10让序列输入,一个输出口输出到达的序列信号q。
仿真波形如下图所示。
图8序列输入模块仿真波形图
从波形图中可以看出,当输入序列口p1~p10输入所要检测的序列1110101101时,输出口q输出也为序列1110101101,说明仿真波形正确。
4.1.3序列检测模块的仿真与分析
此模块的序列输入口为X,当输入口输入的序列为所需检测的序列时,输出Y为逻辑1,否则为逻辑0。
此模块的仿真波形如下图所示。
图9序列检测模块仿真波形图
4.2顶层电路的仿真与分析
各个模块完成之后,按照系统原理框图来搭建顶层整体电路,编译成功后进行仿真,整体电路的仿真波形如下图所示。
图10顶层电路仿真波形图
第五章电路的硬件调试
在仿真部分,分频器模块、序列信号输入模块、序列检测模块均完全正确,顶层文件模块的仿真出现错误,最后应该输出一个高电平显示序列信号检测正确,但Q一直为低。
经反复检查无法发现错误。
进行硬件测试,输出经QuartusⅡ中的“PROGRAMMER”菜单,调出编程器窗口。
一切就绪后,按下编程器窗口中的“START”按钮,设计的容就开始下载到CPLD