1、工作原理:基于FPGA的多路脉冲序列检测器的设计方案,使用VHDL语言设计时序逻辑电路,先设计序列发生器产生序列:1011010001101010;再设计序列检测器,检测序列发生器产生序列,若检测到信号与预置待测信号相同,则输出“1”,否则输出“0”,并且将检测到的信号的显示出来。系统框图如图所示:图2.12.1.2方案二 工作原理:使用proteus软件进行仿真,先画出原始状态图和状态表,在根据状态图使用D触发器,与门,或门以及非门等元件画出时序逻辑图,再根据结果译码,最后使用LED灯显示结果。图2.22.2 两种方案的论证与比较 第一种方案使用quartus软件进行仿真和验证,直接输入源代
2、码比较简单方便,并且还可以检测其他的序列,只需要修改一部分代码就可以实现。 方案二使用proetus软件进行仿真和验证,需要先进行复杂的状态图分析,如果需要检测的序列过长就会造成原理图连接过于复杂,不易实现。而且一旦原理图连接好久只能检测一种序列,如果要检测其他序列就要重新连图。 通过比较发现第一种方案明显优于第二种方案,因此选择第一种方案。 3. 单元模块设计主要介绍系统各单元模块的具体功能、电路结构、工作原理、以及各个单元模块之间的联接关系;同时本节也会对相关电路中的参数计算、元器件选择、以及核心器件进行必要说明。3.1 序列信号发生器序列信号是指在同步脉冲作用下循环地产生一串周期性的二进
3、制信号。利用状态机设计,首先定义一个数据类型FSM_ST它的取值为st0到st15的16个状态。REGs0s1s2s3s4s5s6s7Q1s8s9s10s11s12s13s14s15表3.1序列信号发生器的代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHK IS PORT (CLK,RST :IN STD_LOGIC; CO :OUT STD_LOGIC );END SHK;ARCHITECTURE behav OF SHK ISTYPE FSM_ST IS (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s1
4、1,s12,s13,s14,s15);SIGNAL REG:FSM_ST;SIGNAL Q:STD_LOGIC; BEGINPROCESS(CLK,RST)BEGINIF RST =1 THEN REG=s0;Q Q REGREG=s3; WHEN s3=s4;WHEN s4=s5; WHEN s5=s6;WHEN s6=s7; WHEN s7=s8;WHEN s8=s9; WHEN s9=s10;WHEN s10=s11; WHEN s11=s12; WHEN s12=s13; WHEN s13=s14;WHEN s14=s15; WHEN s15=WHEN OTHERS= END CASE
5、; END IF; END PROCESS; CO=Q; END behav;转化成可调用的元件:图3.1波形仿真如下:图3.23.2序列检测器脉冲序列检测起可用于检测一组或多组二进制码组成的脉冲序列信号,当序列检测器连续接收到一组穿行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确的序列,直到连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等将回到初始状态重新开始检测。序列检测器的代码如下:library ieee;use ieee.std_logi
6、c_1164.all;entity SCHK1 isport(datain,clk:in std_logic;t: in std_logic_vector (4 downto 0);q:out std_logic;cq: out std_logic_vector (4 downto 0);end SCHK1;architecture rt1 of SCHK1 issignal reg:std_logic_vector(4 downto 0);beginprocess(clk)variable t1:std_logic_vector (4 downto 0);if clkevent and cl
7、k= thenreg(0)=datain;reg(4 downto 1)=reg(3 downto 0) ;end if;t1:=t; if reg=t1 then q ; else q cq); ELSIF CLK IF EN= IF CQI153 THEN IF CQI(3 DOWNTO 0)=9 THEN CQI:=CQI +7; -高位进位 ELSE CQI := CQI+1; ELSE CQI: IF CQI=153 THEN COUT ELSE COUT Q1=CQI(3 DOWNTO 0); Q2=CQI(7 DOWNTO 4); END PROCESS COUNT; END A
8、RCHITECTURE ONE;图3.5图3.63.4 顶层文件设计通过前面的准备,我们已经得到了全部所需要的3个模块,即序列信号发生器、序列检测器、计数器。在此,我们运用原理图法来生成顶层实体。具体的实现方法是,将上述3个模块,通过我们的设计软件,生成可以移植,调用的原理图文件,在将其在顶层设计中直接调用即可。本次设计生成的顶层实体如下图所示:图3.7 4 系统调试与验证4.1待测序列的输入输入检测的8位序列“11001011”程序如下: port(din,clk,clr : in std_logic; pre_load : in std_logic_vector(7 downto 0);
9、ab : out std_logic_vector(3 downto 0);architecture behav of SCHK1 is signal q : integer range 0 to 8; signal d : std_logic_vector(7 downto 0); D=pre_load;-置入待检测序列 process (clk, clr) begin if clr= then q if din=d(7) then q=1;else q if din=d(6) then q if din=d(5) then q if din=d(4) then q if din=d(3)
10、then q if din=d(2) then q if din=d(1) then q if din=d(0) then q q end case; process(q) if q=8 then ab else ab end if;end behav;图4.14.2 时序仿真置入待检测序列:图4.2仿真结果:图4.34.3结果分析:1. 根据序列检测器的输出端q可以看出,当检测器检测到串行信号与预置的序列信号相同时,q则输出“A”,没有检测到,q则输出“B”;2. 根据计数器的输出端Q1可以看出,Q1将序列检测器检测到的序列信号的数目显示出来。3.通过仿真结果还可以看到,输出的波形出现了一些
11、毛刺,这是因为信号在FPGA器件中通过逻辑单元连线时,一定存在延时。延时的大小不仅和连线的长短和逻辑单元的数目有关,而且也和器件的制造工艺、工作环境等有关。因此,信号在器件中传输的时候,所需要的时间是不能精确估计的,当多路信号同时发生跳变的瞬间,就产生了“竞争冒险”。这时,往往会出现一些不正确的尖峰信号,这些尖峰信号就是“毛刺”。5 总结与体会经过这次课程设计的学习,我确实学习了很多知识,真正的感受到了理论联系实际的重要性,以及这之间莫大区别,到最后看着自己的结果心里还是感到很欣慰的。具体做了以下几项工作:1.查找相关资料,了解EDA技术的发展及优点,同时详细分析了利用可编程逻辑器件来设计脉冲
12、序列检测器的优势。2. 简要分析了FPJA器件的特征和结构,详细介绍了FPGA设计流程,同时详细介绍了硬件描述语言VHDL及其特点。3. 对序列检测器原理进行了详细的了解,并详细介绍了序列信号发生器、序列检测器及计数器的设计,最终完成设计的要求。回顾起此次课程设计,自从拿到题目到完成整个编程,从理论到实践,在整整一Z周的时间,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的
13、实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我把前面所学过的知识又重新温故了一遍。6 辞谢在此次课程设计完成之际,我要向曾经给予我帮助的老师和同学表示深深的谢意,感谢老师的耐心指导和同学的帮助。郭老师以其丰富的知识和经验指导我们的课程设计作业,从他那里我学到了很多专业知识和科学的研究方法,在电路设计过程中,我多次遇到问题,郭老师每次都耐心的讲解,使我可以及时改进并顺利完成设计,在此谨向他表示最诚挚的敬意和谢
14、意!其次,非常感谢同组的同学在课程设计期间给予我的帮助,他们给了我更多的支持和鼓励,让我更加自信地投入到课程设计中,使得本次的课程设计能如期完成,真的非常感谢他们。7 参考文献1潘松等. EDA技术使用教程(第三版)M.北京:科学出版社,20062王金明,周顺.数字系统设计与VHDLM.北京:电子工业出版社,20103刘欲晓. EDA技术与VHDL技术M .北京:电子工业出版社,2009.44赵明富,李立军,等.EDA技术基础M.北京:北京大学出版社,20075卢毅,赖杰.VHDL与数字电路设计M.北京:科学出版社,2001 6顾斌.数字电路EDAM.西安:西安电子科技大学出版社,20047黄正瑾.CPLD系统设计技术入门与应用M.北京:电子工业出版社,20028齐亮.FPGA设计及应用M.西安:附录1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1