序列信号发生器和序列信号检测器

合集下载

序列信号检测实验报告

序列信号检测实验报告

一、实验目的1. 理解序列信号检测的基本原理。

2. 掌握序列信号检测的方法和步骤。

3. 通过实验验证序列信号检测的准确性。

4. 分析实验结果,探讨影响序列信号检测准确性的因素。

二、实验原理序列信号检测是数字信号处理中的一个重要领域,主要研究如何从含有噪声的信号中检测出特定的序列信号。

本实验采用模拟信号检测的方法,通过设计序列信号发生器和检测器,实现对特定序列信号的检测。

三、实验器材1. 信号发生器2. 数据采集器3. 计算机及软件(如MATLAB等)4. 信号分析仪四、实验步骤1. 设计序列信号发生器:- 根据实验要求,设计特定的序列信号,如“1101”。

- 使用信号发生器产生该序列信号。

2. 设计序列信号检测器:- 设计一个检测器,用于检测序列信号。

- 检测器可以采用状态机或有限状态机(FSM)实现。

3. 实验设置:- 将信号发生器产生的序列信号输入到数据采集器。

- 将数据采集器采集到的信号输入到计算机进行后续处理。

4. 信号处理:- 使用MATLAB等软件对采集到的信号进行预处理,如滤波、去噪等。

- 对预处理后的信号进行序列信号检测。

5. 结果分析:- 分析实验结果,比较检测器检测到的序列信号与原始序列信号是否一致。

- 分析影响序列信号检测准确性的因素,如噪声水平、信号带宽等。

五、实验结果与分析1. 实验结果:- 通过实验,成功检测到了设计的序列信号“1101”。

- 检测到的序列信号与原始序列信号基本一致。

2. 结果分析:- 实验结果表明,所设计的序列信号检测器能够有效地检测出特定序列信号。

- 影响序列信号检测准确性的因素主要包括:- 噪声水平:噪声水平越高,检测难度越大。

- 信号带宽:信号带宽越窄,检测难度越大。

- 序列长度:序列长度越长,检测难度越大。

六、实验结论1. 序列信号检测实验验证了序列信号检测的基本原理和方法。

2. 通过实验,掌握了序列信号检测的步骤和技巧。

3. 实验结果表明,所设计的序列信号检测器能够有效地检测出特定序列信号。

1011序列发生器和检测器的设计实现

1011序列发生器和检测器的设计实现

1011序列发生器和检测器的设计实现摘要序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号.能产生这种信号的逻辑器件就称为序列信号发生器.根据结构不同,它可分为反馈移位型和计数型两种.1.移位型序列信号发生器的组成移位型序列信号发生器是由移位寄存器和组合电路两部分构成,组合电路的输出,作为移位寄存器的串行输入。

由n位移位寄存器构成的序列信号发生器所产生的序列信号的最大长度为:P=2n2.计数型序列信号发生器组成与特点计数型序列信号发生器能产生多组序列信号,这是移位型发生器所没有的功能.计数型序列信号发生器是由计数器和组合电路构成的,序列的长度P就是计数器的模数。

3.D触发器构成的序列信号发生器序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。

由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,知道在连续的检测中所收到的每一位码都与预置数的对应码相同。

在检测过程中,任何一位不相等都将回到初始状态重新开始检测。

我们采用的是计数型序列信号发生器。

利用计数器与数据选择器构成1011序列发生器,1011序列检测器——上面的输出端,接入一个74LS194移位寄存器再接一个4输入与门,数字0那端输入前加一个非门,这样检测到1011时输出1,其余结果均输出0.然后并用MUX+plus2进行仿真。

关键字1011,序列发生器,检测器,74LS194,数据选择器,74LS163,74LS151一. 总设计序列检测器也称为串行数据检测器,它在数据通讯,雷达和遥测等领域中用于检测同步识别标志,是一种用来检测一组或多组序列信号的电路。

本文输入的序列信号由计数器和数据选择器组成的序列信号发生器提供。

74LS194 74LS163计数器是一种含有若干个触发器、并按预定顺序改变各触发器的状态,累计输入脉冲个数的数字电路。

Verilog HDL2011_2012

Verilog HDL2011_2012

仿真结果:
1.4 FIFO模型设计之二
支持连续写,连续读。 启动写操作,外部单一时钟节拍写,实际完成需滞后一拍 启动读操作,外部单一时钟节拍读,但需等待一拍 读、写不可同时进行
//Fifo of continuous operation //Size:255Bytes module fifo_c(clk,nreset,pe,ph,fifo_in,fifo_out,data, fifo_wr,fifo_rd,busy,empty,full,state,wr,rd); input clk,nreset,fifo_wr,fifo_rd;// input[7:0] fifo_in; output[1:0] state; output empty,full,wr,rd,busy;// output[7:0] fifo_out,pe,ph,data; reg[1:0] state; reg[7:0] fifo_out,data; reg wr,rd,empty,full,busy; //fifo write , read ,empty , full reg[7:0]pe,ph; //fifo point:P_end,P_head parameter write=1,read=2,stop=0;
序列信号发生器。 例1-2:11010100序列信号发生器。 : 序列信号发生器
module generator (out,clk); output[2:0] state; output out; input clk; reg[2:0] state ; reg out; always @(posedge clk) begin state<=state+1 ; case(state) 3’b000:out<=1; 3’b001:out<=1; 3’b010:out<=0; 3’b011:out<=1; 3’b100:out<=0; 3’b101:out<=1; 3’b110:out<=0; 3’b111:out<=0; default: out<=0; endcase end endmodule

1011序列发生器与检测器

1011序列发生器与检测器

1011序列发生器与检测器---------时序逻辑课程设计学院:自动化工程学院摘要:该设计实现的是串行序列信号1011的发生与检测。

设计通过移位寄存器74194的环形移位功能实现1011序列的循环发生,74194的串并转换功能实现1011序列的检测。

达到了课题要求。

关键词:74194芯片、环形移位、串并转换、一:设计思路及分析1011序列检测与发生器的实现可分为两部分:第一部分为1011序列发生器;第二部分为1011序列检测器。

1.1011序列发生器:通过之前对组合逻辑电路的学习,我发现要实现1011序列的产生有多种方法。

方法1:使用多路复用器的数据选择功能,将1011序列作为并行数据输入多路复用器的数据输入端,再使用一个计数器由计数器控制多路复用器依次选择1,0,1,1这四个输入数据作为输出,将1011序列串行输出,并使计数器重复计数以使1011序列重复产生。

具体的电路如下:从设计可以看出,这种1011序列发生器使用了两块芯片和一个三输入与非门,并且这种设计使74*163芯片和74*151芯片的扇入不能得到充分利用,并不是很好的设计。

方法2:运用第八章移位寄存器的知识,我们可以通过分析状态图来利用移位寄存器完成1011序列发生器。

通过模仿书本例子设计的1000序列发生器。

我做了如下设计:使用移位寄存器芯片74*194,将初始值设为1011,而后开始移位,当QB,QC,QD都为1时,下一输入为0。

并将QB,QC,QD的与非作为下一输入。

以此实现1011序列的产生,并用QA作为序列发出端。

如图,初始时,RESET为1,使ABCD载入,而后RESET为0,开始移位进行环形计数,并由QD输出1011序列。

2.、1011序列检测器1011序列检测器的实现依然可以用移位寄存器完成。

通过74194进行串并转换,将串行数据转换为并行数据以对数据的四位进行检测。

移位寄存器在左移时输入端为SLSI端,当控制端S1=1,S0=0时,74194为左移位模式,QD*=SLSI,QC*=QD,QB*=QC,QA*=QB。

实验7序列发生器和检测器的设计与实现

实验7序列发生器和检测器的设计与实现

实验7序列发生器和检测器的设计与实现序列发生器和检测器是数字电路中非常重要的组成部分,用于生成和检测特定的序列模式。

本实验将设计和实现一个简单的序列发生器和检测器。

1.实验目的:-了解序列发生器和检测器的基本原理和实现方法;-掌握用基本门电路实现序列发生器和检测器的设计方法;-熟悉数字电路的设计流程和实验操作。

2.实验仪器和器件:-逻辑门IC(与、或、非门);-数字电路实验箱;-电源。

3.实验原理:-序列发生器是一种能够按照预定规律生成特定序列的电路,通常由多个逻辑门组成。

常见的序列发生器包括计数器、移位寄存器等。

-序列检测器是一种能够检测给定输入序列是否符合预定规律的电路,通常也由多个逻辑门组成。

常见的序列检测器包括状态机、比较器等。

4.实验步骤:1.根据设计要求,确定需要生成和检测的序列类型和规律。

2.设计序列发生器的电路,选择适当的逻辑门进行组合,以实现所需的序列模式。

3.搭建序列发生器电路,将所选逻辑门按照设计连接方式进行布线。

4.进行测试和调试,检查序列发生器是否按照设计要求生成所需的序列。

5.设计序列检测器的电路,选择适当的逻辑门进行组合,以实现对所需的序列模式的检测。

6.搭建序列检测器电路,将所选逻辑门按照设计连接方式进行布线。

可使用开关或其它电源来模拟序列输入。

7.进行测试和调试,检查序列检测器是否能够准确检测给定的输入序列是否符合预期。

5.实验注意事项:-严格按照设计要求进行电路设计和布线,确保连接正确。

-进行测试和调试时,先验证序列发生器的输出是否符合预期,再测试序列检测器的正确性。

-如遇到问题,请仔细检查电路连接是否正确,或寻求助教或教师的帮助。

6.实验结果分析:-比较生成的序列和检测的结果,验证电路的正确性和稳定性。

-如有误差或异常情况,分析可能原因,进行修正和改进。

7.实验总结:-通过本实验,我们了解了序列发生器和检测器的基本原理和实现方法。

-掌握了用基本门电路实现序列发生器和检测器的设计方法。

脉冲序列发生器设计

脉冲序列发生器设计

摘要脉冲序列检测器广泛应用于现代数字通信系统中,随着通信技术的发展,对多路脉冲序列信号检测要求越来越高。

现代通信系统的发展方向是功能更强、体积更小、速度更快、功耗更低,大规模可编程逻辑器件FPGA器件的集成度高、工作速度快、编程方便、价格较低,易于实现设备的可编程设计,这些优势正好满足通信系统的这些要求。

随着器件复杂程度的提高,电路逻辑图变得过于复杂,不便于设计。

VHDL(VHSIC Hardware Description Language)是随着可编程逻辑器件的发展而发展起来的一种硬件描述语言。

VHDL具有极强的描述能力,能支持系统行为级、寄存器输级和门级三个不同层次的设计,实现了逻辑设计师多年来梦寐以求的“硬件设计软件化”的愿望,给当今电子通信系统设计带来了革命性的变化。

本文针对传统的脉冲序列检测器方案,提出了一种基于对脉冲序列检测器设计的新方案,该方案相对于传统的设计方法更适合于现代数字通信系统,不但大大减少了周边的设备,也使系统设计更加灵活,稳定性更好,性价比更高,可以满足多种环境下的检测系统的要求。

关键词:多路数据选择器、Multisim、计数器、序列检测器目录摘要 (1)1目录 (1)2.设计内容及设计要求 (2)3.1 实验目的 (3)3.2参考电路 (4)3.3实验内容及主电路图 (5)3.4多谐振荡器的介绍 (6)3.5计数器的介绍 (9)3.6数据分析 (12)3.7数据选择器的介绍 (14)4实验结果 (16)4.1实验结果的分析 (17)设计总结 (18)致谢 (19)参考文献 (20)2设计内容及技术要求1、设计并制作一个脉冲序列发生器,周期性的产生8位长度的任意脉冲序列,脉冲序列可以通过设置电路自由设置。

2、能够检测出设置的脉冲序列,在每出现一次设置的脉冲序列时,点亮一次LED;3、时钟脉冲周期为1HZ;4、对设置的脉冲序列值通过适当的方式进行指示;5、电源:220V/50HZ的工频交流电供电;6、(直流电源部分仅完成设计仅可,不需制作,用实验室提供的稳压电源调试,但要求设计的直流电源能够满足电路要求)7、按照以上要求设计电路,绘制电路图,对设计的的电路用Multisim或OrCAD/PspiceAD9进行仿真,用万用板焊接元器件,制作电路,完成调试、测试,撰写设计报告。

序列信号发生器

序列信号发生器
复用器)设计(环行计数器和扭环计数器属于此类); 4.用线性反馈移位寄存器计数器设计最大长度的序列
2
1. 顺序脉冲发生器(1000…0类序列)
CLK Q0 Q1 Q2 Q3
1000
0001
0100
0010
有效状态
3
• 利用环形计数器器构成“1000”序列发生器
—— 注意自校正(环形计数器 )
1000 0001
• 利用扭环计数器构成“11110000”序列发生器
—— 注意自校正(Johnson计数器 ) +5V
74x194
CLOCK
CLK
RESET_L
CLR
S1
S0
LIN
D
QD
Q0
C
QC
Q1
74x194的任何一位Q
B
QB
Q2
输出(如Q0)都可
A
QA
Q3
以实现“11110000”
RIN
序列。
6
3. 任意序列信号发生器
S0
S1
S2
Y=1
Y=1
Y=0
S5
S4
S3
Y=0
Y=0
Y=1
2、状态编码
000~101 表示 S0 ~ S5
8
3.1 利用D触发器设计一个110100序列信号发生器
3、列状态转换输出表
Q2Q1Q0 Q2* Q1* Q0* Y 000 0 0 1 1 001 0 1 0 1 010 0 1 1 0 011 1 0 0 1 100 1 0 1 0 101 0 0 0 0
14
D0-D5作为输出,从而产生所需序列。
例:产生一个6位的序列信号 110100 (清零法)

实验7序列发生器和检测器的设计与实现

实验7序列发生器和检测器的设计与实现

实验7序列发生器和检测器的设计与实现
一、实验目的
本实验旨在通过设计和实现序列发生器和检测器来熟悉现代无线通信
系统以及其中所使用的发送数据的方法。

二、实验环境
实验要求使用FPGA软硬件设计结合Quartus II软件进行设计实现,
使用ALTERA DE2开发板实现序列发生器和检测器。

三、实验原理
1.序列发生器的原理
序列发生器是一种非常重要的工具,它可以产生一个特定序列的数字
信号。

序列发生器最常用于调试电子系统以及测试它们的性能。

序列发生
器利用一个特定的算法来生成多个等号数字序列,这些序列可以用于传输,接收和解码信息。

2.检测器的原理
检测器是一种对接收到的数据流进行分析的功能,它能够检测出一些
有用的信息,因此它扮演着非常重要的角色。

检测器通常包括一个可以对
收到的数据流进行解码的模块。

检测器为用户提供其中一种特定的输出,
以及相应的信息,这样用户就能够更好地分析系统的行为。

四、实验设计
1.序列发生器的设计
序列发生器的设计主要是利用ALTERA DE2开发板上的FPGA芯片,包括Cyclone IV,搭建序列发生器的设计结构。

在这个结构里,必须实现一个控制器,用于启动和停止发送序列,还要实现一个定时器,定时发送序列。

eda基于VHDL的序列检测器设计

eda基于VHDL的序列检测器设计

课程报告基于VHDL的序列检测器设计课程名称 EDA技术实用教程姓名卢泽文李嘉阳吴炽扬学号200730530318200730530311200730530326专业电气工程及其自动化3班指导老师: 陈楚老师日期: 2010/12随着计算机的飞速发展,以计算机辅助设计为基础的电子设计自动化(EDA)技术已成为电子学领域的重要学科。

EDA工具使电子电路和电子系统的设计产生了革命性的变化。

序列检测器也称为串行数据检测器,它在数据通讯,雷达和遥测等领域中用于检测同步识别标志,是一种用来检测一组或多组序列信号的电路。

本文输入的序列信号由自行设计的计数器和数据选择器组成的序列信号发生器提供。

1.原理说明:序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。

由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,知道在连续的检测中所收到的每一位码都与预置数的对应码相同。

在检测过程中,任何一位不相等都将回到初始状态重新开始检测。

2.实验程序设计及程序分析和主要模块的代码:library ieee;use ieee.std_logic_1164.all;entity schk isport(din,clk,clr:in std_logic;ab:out std_logic_vector(3 downto 0));end schk;architecture behav of schk issignal d:std_logic_vector(7 downto 0);signal q:integer range 0 to 8;type fsm_st is(s0,s1,s2,s3,s4,s5,s6,s7,s8); --数据类型定义,状态符号化signal current_state,next_state:fsm_st;begind<="11100101" ; --8位待检预置数 reg:process(clr,clk) --主控时序进程beginif clr='1' then current_state<=s0;elsif clk='1' and clk'event thencurrent_state<=next_state;end if;end process;com:process(current_state,din) --主控组合进程 begincase current_state iswhen s0=>q<=0;if din='0' then next_state<=s0;else next_state<=s1;end if;when s1=>q<=1;if din='0' then next_state<=s0;else next_state<=s2;end if;when s2=>q<=2;if din='0' then next_state<=s0;else next_state<=s3;end if;when s3=>q<=3;if din='1' then next_state<=s0;else next_state<=s4;end if;when s4=>q<=4;if din='1' then next_state<=s0;else next_state<=s5;end if;when s5=>q<=5;if din='0' then next_state<=s0;else next_state<=s6;end if;when s6=>q<=6;if din='1' then next_state<=s0;else next_state<=s7;end if;when s7=>q<=7;if din='0' then next_state<=s0;else next_state<=s8;end if;when s8=>q<=8;next_state<=s0;end case;end process;process(q) --检测结果判断输出beginif q=8 then ab<="1010"; --序列数检测正确,输出"A" else ab<="1011"; --序列数检测错误,输出"B" end if;end process;end behav;3.原理图(顶层电路结构):clr为复位端,din为置数端,ab为输出端。

EDA课件-时序逻辑电路

EDA课件-时序逻辑电路

上一页 下一页 返回
课堂练习: 课堂练习: 设计异步清零D触发器 用VHDL设计异步清零 触发器。 设计异步清零 触发器。
上一页 下一页 返回
触发器VHDL程序(只写出了结构体) 程序( 例2:异步清零 触发器 :异步清零D触发器 程序 只写出了结构体) ARCHITECTURE behavl OF dff_y IS BEGIN PROCESS(clk,clr,d) BEGIN IF clr='1' THEN q<='0'; ELSIF clk'EVENT AND clk='1' THEN q<=d; END IF; END PROCESS; END behavl;
Qn
Q n +1
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
× × 0 0 1 1 0 1
课堂练习: 课堂练习: 用VHDL语言设计 触发器。 语言设计RS触发器 语言设计 触发器。
上一页 下一页 返回
ቤተ መጻሕፍቲ ባይዱ
2.RS触发器 . 触发器 触发器VHDL程序。 程序。 【例6-12】RS触发器 】 触发器 程序 LIBRARY IEEE; USE IEEE. STD_LOGIC_1164.ALL; ENTITY rsff IS PORT(r,s:IN STD_LOGIC; q,qb:OUT STD_LOGIC); END rsff; ARCHITECTURE behavl OF rsff IS SIGNAL q_temp,qb_temp:STD_LOGIC; BEGIN PROCESS(r,s) BEGIN IF s='1'AND r='0' THEN q_temp<='0'; qb_temp<='1';

vhdl-eda-序列信号发生器与检测器设计

vhdl-eda-序列信号发生器与检测器设计

实验三序列信号发生器与检测器设计一、实验目的1.学习一般有限状态机的设计;2.利用状态机实现串行序列的输出与序列的检测。

3.继续学习优化设计。

二、内容与要求利用状态机设计实现实现串行序列的输出与序列的检测,具体要求:1.先设计序列发生器产生序列;2.再设计一个序列信号检测器,若系统检测到串行序列11010则输出为“1”,否则输出为“0”,并将检测到的11010数目显示出来;3.对所设计的电路进行波形仿真和硬件测试;4.整个工程采用顶层文件+底层模块的原理图或文本的设计思路。

三、设计思路/原理图“1”,没有检测到则输出“0”,并且将检测到的信号的显示出来。

为简化设计,整个工程采用顶层文件+底层模块的设计方法。

1.序列信号发生器序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号。

利用状态机设计,首先定义一个数据类型FSM_ST它的取值为st0到st15的16个状态。

REG s0 s1 s2 s3 s4 s5 s6 s7Q 0 1 1 1 0 1 0 0REG s8 s9 s10 s11 s12 s13 s14 s15Q 1 1 0 1 1 0 1 02、序列检测器序列检测器设计的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及序列,直到在连续的检测中收到的每一位码都与预置码相同。

在此,必须利用状态转移图。

定义预置信号D=“11010”,电路需要分别不间断记忆:初始状态、1、11、110、1101、11010共六种状态,状态转移图:3、计数模块利用序列检测器产生的信号(1和0)作为计数器模块的时钟信号,产生的信号0、1变化,形成类似的CLK信号,实现计数模块计数。

计数模块设计可采用前面的实验二设计。

4.顶层设计为简化设计,顶层设计采用原理图输入法设计,直接将模块进行连接。

四、实验程序(陈杰独立编写)序列信号发生器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY C_OUT ISPORT (CLK,RST :IN STD_LOGIC;CO :OUT STD_LOGIC );END C_OUT;ARCHITECTURE behav OF C_OUT ISTYPE FSM_ST IS (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15); SIGNAL REG:FSM_ST;SIGNAL Q:STD_LOGIC;BEGINPROCESS(CLK,RST)BEGINIF RST ='1' THEN REG<=s0;Q<='0';ELSIF CLK'EVENT AND CLK='1' THENCASE REG ISWHEN s0=> Q<='0'; REG<=s1;WHEN s1=> Q<='1';REG<=s2;WHEN s2=> Q<='1';REG<=s3;WHEN s3=> Q<='1';REG<=s4;WHEN s4=> Q<='0';REG<=s5;WHEN s5=> Q<='1';REG<=s6;WHEN s6=> Q<='0';REG<=s7;WHEN s7=> Q<='0';REG<=s8;WHEN s8=> Q<='1';REG<=s9;WHEN s9=> Q<='1';REG<=s10;WHEN s10=> Q<='0';REG<=s11;WHEN s11=> Q<='1';REG<=s12;WHEN s12=> Q<='1';REG<=s13;WHEN s13=> Q<='0';REG<=s14;WHEN s14=> Q<='1';REG<=s15;WHEN s15=> Q<='0';REG<=s0;WHEN OTHERS=>REG<=s0;Q<='0';END CASE;END IF;END PROCESS;CO<=Q;END behav;转化成可调用的元件:序列信号检测器:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCHK ISPORT(DIN, CLK, CLR : IN STD_LOGIC;SS : OUT STD_LOGIC);END SCHK;ARCHITECTURE behav OF SCHK ISSIGNAL Q : INTEGER RANGE 0 TO 5 ;SIGNAL D : STD_LOGIC_VECTOR(4 DOWNTO 0);BEGIND <= "11010" ;PROCESS( CLK, CLR )BEGINIF CLR = '1' THEN Q <= 0 ;ELSIF CLK'EVENT AND CLK='1' THENCASE Q ISWHEN 0=> IF DIN = D(4) THEN Q <= 1 ; ELSE Q <= 0 ; END IF ; WHEN 1=> IF DIN = D(3) THEN Q <= 2 ; ELSE Q <= 0 ; END IF ; WHEN 2=> IF DIN = D(2) THEN Q <= 3 ; ELSE Q <= 2 ; END IF ; WHEN 3=> IF DIN = D(1) THEN Q <= 4 ; ELSE Q <= 0 ; END IF ; WHEN 4=> IF DIN = D(0) THEN Q <= 5 ; ELSE Q <= 2 ; END IF ; WHEN OTHERS => Q <= 0 ;END CASE ;END IF ;END PROCESS ;PROCESS( Q )BEGINIF Q = 5 THEN SS <= ‘1’;ELSE SS <=‘0’;END IF ;END PROCESS ;END behav ;转化成可调用的元件:计数模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT ISPORT (CLK, EN,RST :IN STD_LOGIC;Q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);Q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT: OUT STD_LOGIC );END ENTITY COUNT;ARCHITECTURE ONE OF COUNT ISBEGINPROCESS(CLK,EN,RST)V ARIABLE CQI:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF RST='1' THEN CQI:= (OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENIF CQI<153 THENIF CQI(3 DOWNTO 0)=9 THEN CQI:=CQI +7; --高位进位ELSE CQI := CQI+1;END IF;ELSE CQI:= (OTHERS=>'0');END IF;END IF;END IF;IF CQI=153 THEN COUT<='1';ELSE COUT<='0';END IF;Q1<=CQI(3 DOWNTO 0);Q2<=CQI(7 DOWNTO 4);END PROCESS COUNT;END ARCHITECTURE ONE;转化成可调用的元件:顶层文件(原理图法):第二种方法(任意序列,任意检测):实验程序如下:library ieee;use ieee.std_logic_1164.all;entity jiance11010 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 jiance11010;architecture rt1 of jiance11010 issignal reg:std_logic_vector(4 downto 0);beginprocess(clk)variable t1:std_logic_vector (4 downto 0);beginif clk'event and clk='1' thenreg(0)<=datain;reg(4 downto 1)<=reg(3 downto 0) ;end if;t1:=t;if reg=t1 then q<='1' ;else q<='0';cq<=reg;end if;end process;end rt1;基于实验发现序列一个一个输入比较麻烦所以设计如下任意十六位循环系列:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jc ISPORT(CLK,CLR,RESET:IN STD_LOGIC;B: in std_logic_vector (15 downto 0) ;q:out std_logic);END ENTITY;ARCHITECTURE ONE OF jc ISSIGNAL A:STD_LOGIC;BEGINPROCESS(CLK,CLR)V ARIABLE N:INTEGER RANGE 16 DOWNTO 1;BEGINIF RESET='1' THEN N:=1;ELSIF CLK'EVENT AND CLK='1'THEN CASE N ISWHEN 1=>A<=B(0);N:=N+1;WHEN 2=>A<=B(1);N:=N+1;WHEN 3=>A<=B(2);N:=N+1;WHEN 4=>A<=B(3);N:=N+1;WHEN 5=>A<=B(4);N:=N+1;WHEN 6=>A<=B(5);N:=N+1;WHEN 7=>A<=B(6);N:=N+1;WHEN 8=>A<=B(7);N:=N+1;WHEN 9=>A<=B(8);N:=N+1;WHEN 10=>A<=B(9);N:=N+1;WHEN 11=>A<=B(10);N:=N+1;WHEN 12=>A<=B(11);N:=N+1;WHEN 13=>A<=B(12);N:=N+1;WHEN 14=>A<=B(13);N:=N+1;WHEN 15=>A<=B(14);N:=N+1;WHEN 16=>A<=B(15);N:=1;WHEN OTHERS=>NULL;END CASE;END IF;Q<=A;END PROCESS;END ARCHITECTURE;五、实验步骤1.建立工作库文件夹和编辑模块设计文件(1)在D盘下建立一个文件夹保存工程文件;(2)打开QuartusII,建立新的VHDL文件,在设计有顶层和底层文件时,在打开的页面下输入模块设计程序。

基于QuartusⅡ顺序脉冲发生器与序列信号产生、检测器的仿真设计

基于QuartusⅡ顺序脉冲发生器与序列信号产生、检测器的仿真设计

基于QuartusⅡ顺序脉冲发生器与序列信号产生、检测器的仿真设计2011级通信工程一班刘志鹏一、实验目的1、进一步熟悉QuartusⅡ的使用方法2、加深对用QuartusⅡ进行仿真的认识3、通过仿真和对比之前实验中用实际芯片组成的功能电路,认识QuartusⅡ的优点和实用性二、实验原理、过程与结果1、顺序脉冲发生器(1)功能电路图(2)设计思路、原理利用三个JK触发器(74109)实现异步八进制循环计数,利用其三个输出端作3-8译码器(74138)的输入端,实现随着CLK信号,译码器经过反向器输出为并行的顺序脉冲输出。

由于在之前实际电路中已经做过相关具体的分析,故在此不做赘述。

(3)实现结果设置输入波形为CLK信号,使用QuartusⅡ进行波形的仿真,仿真结果如下图所示:(4)结果分析从仿真波形中可以看出,随着CLK信号上升沿的出现,y1-y7不断的进行脉冲信号的更迭。

并且对比之前做过的顺序脉冲发生器的实际电路,不难发现实验结果相同。

2、序列信号发生器与检测器(1)功能电路图(2)设计原理、思路a.序列信号发生器部分使用2-5-10计数器(7490)实现5进制置零计数,然后将计数输出送入8选1数据选择器(74151)的地址输入端。

这样就会实现D0~D4的循环输出。

之后将“D0D1D2D3D4”接成“10110”,则在数据选择器输出端Y上输出“10110”的序列信号。

由于在之前实际电路中已经做过相关具体的分析,故在此不做赘述。

B.序列信号检测器部分使用两个D触发器(74175)实现对输入的存储,当触发器0D和1D分别存储“1”、“1”,后,输入端再输入一个信号“0”时,输出高电平。

(3)实现结果设置输入波形为CLK信号,使用QuartusⅡ进行波形的仿真,仿真结果如下图所示:(5)结果分析从仿真波形中可以看出,随着CLK信号上升沿的出现,数据选择器的输出为10110,而且当数据选择器的输出出现110后,序列信号检测器的输出为高电平。

数电课设三位二进制同步加法计数器序列信号发生器串行序列检测器电路设计方案

数电课设三位二进制同步加法计数器序列信号发生器串行序列检测器电路设计方案

第一部分数字电子课程设计成绩评定表课程设计任务书目录1 课程设计的目的与作用 (1)1.1设计目的及设计思想 (1)1.2设计的作用 (1)1.3 设计的任务 (1)2 所用multisim软件环境介绍 (1)3 三位二进制同步加法计数器设计 (3)3.1 基本原理 (3)3.2 设计过程 (3)4序列信号发生器的设计 (6)4.1 基本原理 (6)4.2 设计过程 (6)5串行序列检测器电路设计 (7)5.1 基本原理 (7)5.2 设计过程 (8)6 仿真结果分析 (11)6.1 三位二进制同步加法计数器仿真 (11)6.2 序列信号发生器(发生序列100101)的仿真 (14)6.3 0110串行序列检测器电路设计 (17)7 设计总结和体会 (23)8 参考文献 (23)1 课程设计的目的与作用1.1设计目的及设计思想根据设计要求设计三位二进制加法计数器和序列信号发生器,加强对数字电子技术的理解,进一步巩固课堂上学到的理论知识。

了解计数器和序列信号发生器的工作原理。

1.2设计作用通过multisim软件仿真电路可以使我们对计数器和序列信号发生器有更深的理解。

学会分析仿真结果的正确性,与理论计算值进行比较。

通过课程设计,加强动手,动脑的能力。

1.3设计任务1.设计一个三位二进制同步加法计数器,要求无效状态为001,110。

2.设计一个序列信号发生器,要求发生序列100101。

2 所用multisim软件环境介绍multisim软件环境介绍Multisim是加拿大IIT公司(Interrative Image Technologies Ltd)推出的基于Windows的电路仿真软件,由于采用交互式的界面,比较直观、操作方便,具有丰富的元器件库和品种繁多的虚拟仪器,以及强大的分析功能等特点,因而得到了广泛的引用。

针对不同的用户,提供了多种版本,例如学生版、教育版、个人版、专业版和超级专业版。

其中教育版适合高校的教学使用。

数字电路课程设计-1011序列发生器和检测器实现

数字电路课程设计-1011序列发生器和检测器实现

数字电路课程设计姓名学号选题1011序列发生器和检测器的设计实现题目:1011序列发生器和检测器的设计实现。

要求:1)设计一个1011序列发生器;2)设计一个1011序列检测器,改变序列检测器的输入可以通过人工拨动开关来选择。

思路:(1)设计1011的序列发生器,由课件lec27 FSM design & serial bits generator上知识可知实现这一序列可选用计数器和数据选择器构成序列信号发生器,计数器选用74x163,它是一个带有低电平负载和清零输入端的同步4位二进制计数器,逻辑符号如图;数据选择器选用74x151在八个一位输入中选择,其逻辑图如图所示:选用这两个器件再加上一些组合逻辑器件就可连成如图所示的电路图构成序列信号发生器:(2)设计一个1011序列检测器,同理由lec27 FSM design & serial bits generator 选用JK 触发器设计在选用一些组合逻辑器件即可完成如图所示的电路图(3)整体具体步骤:(1)确定状态数:S0状态,初始状态,当前还没有1输入;S1状态:最后一个输入为1(1…);S2状态:最后二个输入为10(10…) ;S3状态:最后三个输入为101(101…);S 4状态:最后四个输入为1011。

(3)由原始状态转换图可得其状态转换表为:由上图可知 : 状态S1=S 4(4) 状态编码:对S0,S1,S2,S3赋值为00,01,10,11可得状态转换表为由上表可得Q1*,Q2和Z的卡洛图为Q1*故可得:Q1*=XQ2* X故可得Q2*=Q1X’+XQ2Q1’输出Z故可得:Z=XQ2Q1(5)求驱动方程:J1=XK1=X’J2=Q1X’K2=XQ1’+Q1X’Z=XQ2Q1可得出思路中电路图:(6)检查电路的自启动:由上表可知状态00,01,10,11全部为有效状态,即其没有无效状态,故电路肯定能自启动。

(7)仿真此电路的Verilog程序为:module liyafeng(clk,res,Z);input clk,res;output Z;reg[1:0] x;wire Z;reg num;always @(posedge clk) beginif(res==1) beginx<=2'b00; endelse x<=x+1;endalways @(posedge clk) begincase(x)2'b00:num<=1;2'b01:num<=0;2'b10:num<=1;2'b11:num<=1;endcaseendassign Z=num;endmodule它的时序图为:(8)心得体会:通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习数字设计的意义,也达到了其培养的目的。

电路中的信号发生器与检测器

电路中的信号发生器与检测器

电路中的信号发生器与检测器电路中的信号发生器与检测器是电子工程师在实验室中经常用到的仪器设备。

它们在电路设计、调试和故障排查中起着至关重要的作用。

尽管信号发生器与检测器在原理和功能上有所不同,但它们的配合使用可以大大提高电路的性能和可靠性。

信号发生器是一种能够产生特定频率、振幅和波形的信号的设备。

它可以模拟各种类型的信号,如正弦波、方波、三角波等,以及模拟复杂的调制信号。

通过调节信号发生器的参数,工程师可以精确地控制电路中的信号。

这对于测试电路的频率响应、幅度衰减等参数非常重要。

在电路设计阶段,工程师可以使用信号发生器来验证设计的正确性和合理性。

通过输入信号进行模拟,在示波器等检测器上观察信号的波形,可以检查电路是否正常工作,是否存在干扰或失真等问题。

如果出现问题,工程师可以通过调整电路元件的数值或更改电路拓扑结构来解决。

在电路调试和故障排查过程中,信号发生器也扮演着重要的角色。

特别是当需要检测某个特定频率下电路的响应时,信号发生器能够提供准确、稳定的信号输入。

通过调整信号的振幅和频率,工程师可以观察到电路的响应情况,从而迅速定位问题所在。

与信号发生器相对应的是检测器,也称为测量仪器。

检测器的主要功能是测量电路的各种参数,如电压、电流、功率等。

电子工程师在电路设计中需要精确测量各个节点的电压和电流,以确保电路的工作正常。

检测器可以提供准确的测量结果,并帮助工程师判断电路是否达到设计要求。

在电路调试和故障排查中,检测器发挥着关键作用。

当工程师需要检测某个电路节点的电压或电流时,可以将检测器连接到该节点上进行测量。

通过检测器提供的实时数据,工程师可以判断电路的工作状态是否正常,进而找出问题所在。

此外,一些高级检测器还可以提供波形显示和数据存储功能,方便进一步的分析和处理。

信号发生器与检测器在电子工程领域里是不可或缺的工具。

它们的配合使用,可以帮助工程师验证和优化电路设计,快速定位和解决故障。

随着技术的不断进步,信号发生器与检测器的功能不断完善,配备了更多的测量选项和计算功能,以满足工程师日益复杂的需求。

序列检测器实验报告

序列检测器实验报告

#### 实验目的1. 理解序列检测器的工作原理;2. 掌握时序电路的经典设计方法;3. 学习使用Verilog HDL语言进行状态机的设计;4. 验证序列检测器在实际电路中的性能。

#### 实验原理序列检测器是一种同步时序电路,用于检测特定的串行码序列。

它能够识别并响应特定长度的二进制序列,一旦检测到匹配序列,就会产生一个输出信号。

序列检测器在数字通信、数据存储和信号处理等领域有着广泛的应用。

#### 实验器材1. PC机一台;2. FPGA开发板;3. 下载电缆一根;4. 信号发生器;5. 示波器;6. 连接线若干。

#### 实验步骤1. 设计序列检测器:使用Verilog HDL语言设计一个序列检测器,该检测器能够检测到特定的序列,如“101”。

2. 实现状态机:将序列检测器设计为一个状态机,通过定义状态和状态转移图来实现序列检测功能。

3. 代码编写与仿真:在FPGA开发板上编写Verilog代码,并使用仿真软件进行功能验证。

4. 硬件实现:将Verilog代码下载到FPGA开发板上,通过信号发生器生成测试序列,并使用示波器观察输出信号。

5. 性能测试:测试序列检测器在实际电路中的性能,包括检测速度、误检率等。

#### 实验内容1. 状态机设计:根据序列检测器的要求,设计状态转移图,并定义状态编码。

2. Verilog代码编写:使用Verilog HDL语言编写序列检测器的代码,包括模块定义、信号定义、状态定义、状态转移和输出逻辑等。

3. 仿真验证:使用仿真软件对Verilog代码进行功能验证,确保序列检测器能够正确地检测到指定序列。

4. 硬件下载与测试:将Verilog代码下载到FPGA开发板上,生成测试序列,并使用示波器观察输出信号,验证序列检测器的实际性能。

#### 实验结果与分析1. 仿真结果:在仿真软件中,序列检测器能够正确地检测到指定序列“101”,输出信号符合预期。

2. 硬件测试结果:在FPGA开发板上,序列检测器能够正确地检测到指定序列“101”,输出信号与仿真结果一致。

序列信号发生器和序列信号检测器

序列信号发生器和序列信号检测器

南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□设计□创新实验日期:实验成绩:实验三序列信号检测器设计(一)实验目的1.进一步熟悉PH-1V型实验装置和QuartusⅡ软件的使用方法;2.学习有限状态机法进行数字系统设计;3.学习使用原理图输入法进行设计。

(二)设计要求完成设计、仿真、调试、下载、硬件测试等环节,在PH-1V型EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能,具体要求如下:1.先用原理图输入法设计0111010011011010序列信号发生器;2.其最后8BIT数据用LED显示出来;3.再设计一个序列信号检测器,检测上述序列信号,若检测到串行序列“11010”则输出为“1”,否则输出为“0”;(三)主要仪器设备1.微机 1台2.QuartusII集成开发软件1套3.PH-1V型EDA实验装置1套(四)实验总体设计本实验要求先设计一个信号发生器,采用原理图设计方法,要求产生0111010011011010序列,16位,便可采用74161计数器和74151选择器,161计数输出QD,QC,QB,QA从0000计至1111,然后将161计数输出低三位QC,QB,QA分别接到151的C,B,A端,高位QD用来控制151两片的片选,即两片151分别实现序列的高八位和低八位的输出。

最后将二片151的输出相或便可得到最后要产生的序列。

序列检测器即为一个状态机,首先画出状态转移图,根据状态转移图设计出序列检测器,当检测到预置的序列,则RESULT输出1,否则输出0 (五)实验重难点设计1. 用原理输入法设计序列信号发生器(1)打开Quartus II软件,进入编辑环境。

(2)创建新的原理图BDF文件,命名为FASHENGQI,根据其总体设计思路设计出如下原理图:1. 用文本输入法设计序列信号检测(1)打开Quartus II软件,进入编辑环境。

(2)创建新的文本文件VHDL,命名为ztj,根据状态机总体设计思路设计出如(3)下语句程序:library ieee;use ieee.std_logic_1164.all;entity ztj isport (clk,reset: in std_logic;x: in std_logic;result: out std_logic);end ztj;architecture behav of ztj istype m_state is(s0,s1,s2,s3,s4,s5);signal present_state,next_state:m_state;signal temp:std_logic;beginprocess(reset,clk)beginif reset ='1' thenpresent_state<=s0;elsif clk='1' and clk'event thenresult<=temp;present_state<=next_state;end if;end process;(4)经编译成功后,点击File---Creat/Update---Creat Simbol Files For Current File 后生成STAKE模块如下:(1)打开Quartus II软件,进入编辑环境。

时序逻辑电路

时序逻辑电路

课程名称:数字逻辑电路设计实践实验名称:组合逻辑电路设计时序逻辑电路1、实验目的1. 掌握时序逻辑电路的一般设计过程;2. 掌握时序逻辑电路的时延分析方法,了解时序电路对时钟信号相关参数的基本要求;3. 掌握时序逻辑电路的基本调试方法;4. 熟练使用示波器和逻辑分析仪观察波形图,并会使用逻辑分析仪做状态分析。

2、 实验原理 详见书103~1473、实验内容1. 广告流水灯a. 实验要求用触发器、组合函数器件和门电路设计一个广告流水灯,该流水等由8个LED 组成,工作时始终为1暗7亮,且这一个暗灯循环右移。

1 写出设计过程,画出设计的逻辑电路图,按图搭接电路。

1)状态转换图: 现态 次态 Q2(n) Q1(n) Q0(n) Q2(n+1) Q1(n+1) Q0(n+1) 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1112)建立卡诺图:001 010 100 011 101 1100001111!1210n n n Q Q Q +++有上表得:Q 0n 1=Q 0n 0100 01 11 10 2nQ 10n nQ QQ 1n 1=Q 0n ⊕Q 1n2n 1=Q n ⊕=Q n ⊕因此,需要三个D 触发器来实现时序电路,三个D 触发器分别对应Q0、Q1、Q2 通过一片74LS138 3-8线译码器将Q2Q1Q0所对应的二进制码输出转化为相应的0~7号LED 灯的输入电平。

2 将单脉冲加到系统时钟端,静态验证实验电路。

3 将TTL 连续脉冲信号加到系统时钟端,用示波器和逻辑分析仪观察并记录时钟脉冲CLK 、触发器的输出端Q2、Q1、Q0和8个LED 上的波形。

b . 实验数据 ① 设计电路。

② 静态验证 (自拟表格)将3-8译码器的15Y ~0Y 输出端,从左到右依次接测试箱上的8个LED 灯80~L L ,3个D 触发器共同接箱上经消抖处理的当脉冲信号(上升沿触发)。

1011序列检测器与发生器

1011序列检测器与发生器

时序逻辑电路课程设计——1011序列信号发生器及检测器的实现作者:***学号:*************学院:自动化工程学院指导老师:***(一)摘要本次课程设计的任务是设计具有发生和检测“1011”数字序列的逻辑功能的数字电路。

根据设计要求,可以采用不同的方案(不同芯片,不同电路)来实现“1011”数字序列发生器和检测器。

我们主要通过芯片和逻辑门搭建满足要求的逻辑电路,并对其进行仿真。

(二)关键字1011,发生器,检测器,循环输出,74X163, 74X151, 74X194(三) 引言序列信号发生器和序列信号检测器在数字电路中占有举足轻重的地位,在很多重要或非重要的场合都有应用。

所谓序列信号是把一组0、1数码按一定规则顺序排列的串行信号,可以做同步信号、地址码、数据等,也可以做控制信号。

序列信号发生器就是产生一系列特定的信号的数字电路;序列信号检测器是指能够对一组或多组特定的序列信号进行检测的数字电路。

(四)设计过程<1>设计思想A. 对于序列信号发生器部分,可以利用同步计数器+数据选择器很方便地实现周期序列发生器。

具体说来,可将计数器的输出作为数字选择器的地址选择码,数据选择器的数据输入端接要选择的地址码,数据选择器的输出端即为要产生的串行周期序列。

B. 对于序列信号检测器部分,要做到实现对1011序列的检测,应当实现对1,10,101等状态的记忆,当输入1011时输出1表示检测成功。

此过程可以通过移位寄存器配合组合电路实现。

<2>设计框图及详细说明A.序列信号发生器部分:利用同步计数器74×163和数据选择器74×151设计具体实现过程为:将QA、QB端通过与非门连接到CLR清零端,实现同步计数器74×163循环计数00、01、10、11的目的,再将这些数送到数据选择器74×151的地址选择端的低二位,使数据选择器依次循环输出D0、D1、D2、D3上的信号,同时预置D0=1、D1=0、D2=1、D3=1,这样就实现了循环产生1011序列信号的逻辑功能。

填空与选择数电(6-9)

填空与选择数电(6-9)

第6章时序逻辑电路一、填空题1. 任一时刻的稳定输出不仅决定于该时刻的输入,而且还与电路原来状态有关的电路叫时序逻辑电路。

2. 时序逻辑电路由组合逻辑电路和触发器两部分组成。

3. 时序逻辑电路的功能表示方法有特性表、特性方程、状态转化图和时序图。

4. 时序逻辑电路按触发器时钟端的连接方式不同可以分为同步时序逻辑电路和异步时序逻辑电路两类。

5. 可以用来暂时存放数据的器件叫寄存器。

6. N级环形计数器的计数长度是;N级扭环形计数器的计数长度是;N级最大长度移存型计数器的计数长度是。

7. 在工作速度要求较高时,在同步计数器和异步计数器两者之中,应选用同步计数器。

8. 3级触发器若构成环型计数器,其模值为 3 ,若构成扭环型计数器,则其模值为 6 。

9. 由4级触发器构成的寄存器可以存入 4 位二进制代码。

10. 由8级触发器构成的二进制计数器模值为。

11.由8级触发器构成的十进制计数器模值为。

12. 一般地说,模值相同的同步计数器比异步计数器的结构复杂,工作速度快。

13. 已知进制加法计数器的状态转换图如图6.1所示,它是采用5221bcd编码的计数器。

图6-1;14. 移位寄存器的主要功能有、、、。

15.按计数器中各触发器状态更新的情况不同,可将计数分为同步计数器、两种类型。

16. 由8个触发器构成的二进制计数器,它的计数状态最多为256 个。

17.集成计数器的模值是固定的,但可以用反馈清零法和反馈置数法来改变它们的模值。

18.通过级联方法,把两片4位二进制计数器74LS161连接成为8位二进制计数器后,其最大模值是256 。

19. 通过级联方法,把3片4位十进制计数器74LS160连接成为12位十进制计数器后,其最大模值是1000。

20. 在设计序列信号检测器时,如果被检测的序列信号的序列长度是7位,则用于表示该电路的最简原始状态转换图的状态个数是7 个。

二、单向选择题1.由3级触发器构成的环型和扭环型计数器的计数模值依次为()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学实验报告
学生姓名:学号:专业班级:
实验类型:□验证□综合□设计□创新实验日期:实验成绩:
实验三序列信号检测器设计
(一)实验目的
1.进一步熟悉PH-1V型实验装置和QuartusⅡ软件的使用方法;
2.学习有限状态机法进行数字系统设计;
3.学习使用原理图输入法进行设计。

(二)设计要求
完成设计、仿真、调试、下载、硬件测试等环节,在PH-1V型EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能,具体要求如下:
1.先用原理图输入法设计0111010011011010序列信号发生器;
2.其最后8BIT数据用LED显示出来;
3.再设计一个序列信号检测器,检测上述序列信号,若检测到串行序列
“11010”则输出为“1”,否则输出为“0”;
(三)主要仪器设备
1.微机 1台
2.QuartusII集成开发软件1套
3.PH-1V型EDA实验装置1套
(四)实验总体设计
本实验要求先设计一个信号发生器,采用原理图设计方法,要求产生
0111010011011010序列,16位,便可采用74161计数器和74151选择器,161计数输出QD,QC,QB,QA从0000计至1111,然后将161计数输出低三位QC,QB,QA分别接到151的C,B,A端,高位QD用来控制151两片的片选,即两片151分别实现序列的高八位和低八位的输出。

最后将二片151的输出相或便可得到最后要产生的序列。

序列检测器即为一个状态机,首先画出状态转移图,根据状态转移图设计
出序列检测器,当检测到预置的序列,则RESULT输出1,否则输出0 (五)实验重难点设计
1. 用原理输入法设计序列信号发生器
(1)打开Quartus II软件,进入编辑环境。

(2)创建新的原理图BDF文件,命名为FASHENGQI,根据其总体设计思路设计
出如下原理图:
1. 用文本输入法设计序列信号检测
(1)打开Quartus II软件,进入编辑环境。

(2)创建新的文本文件VHDL,命名为ztj,根据状态机总体设计思路设计出如(3)下语句程序:
library ieee;
use ieee.std_logic_1164.all;
entity ztj is
port (clk,reset: in std_logic;
x: in std_logic;
result: out std_logic);
end ztj;
architecture behav of ztj is
type m_state is(s0,s1,s2,s3,s4,s5);
signal present_state,next_state:m_state;
signal temp:std_logic;
begin
process(reset,clk)
begin
if reset ='1' then
present_state<=s0;
elsif clk='1' and clk'event then
result<=temp;
present_state<=next_state;
end if;
end process;
(4)经编译成功后,点击File---Creat/Update---Creat Simbol Files For Current File 后生成STAKE模块如下:
(1)打开Quartus II软件,进入编辑环境。

(2)创建新的文本文件VHDL,命名为_state ,根据状态机总体设计思路设计出如下语句程序:
(3)process(present_state,x)
begin
case present_state is
when s0=>
if x='1' then next_state<=s1;
else next_state<=s0;
end if;
temp<='0';
when s1=>
if x='1' then next_state<=s2;
else next_state<=s0;
end if;
temp<='0';
when s2=>
if x='0' then next_state<=s2;
else next_state<=s3;
end if;
temp<='0';
when s3=>
if x='1' then next_state<=s4;
else next_state<=s0;
end if;
temp<='0';
when s4=>
if x='0' then next_state<=s5;
temp<='1';
else next_state<=s2;
temp<='0';
end if;
when s5=>
if x='1' then next_state<=s1;
else next_state<=s0;
end if;
temp<='0';
end case;
end process;
end behav;
(4)经编译成功后,点击File---Creat/Update---Creat Simbol Files For Current File 后生成STAKE模块如下:
3. 用文本输入法设计序列移位寄存器
(1)打开Quartus II软件,进入编辑环境。

(2)创建新的文本文件VHDL,命名为YIWEI,根据总体设计思路设计出如下语句程序:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY YIWEI IS
PORT(CLK0 : IN STD_LOGIC;
DIN : IN STD_LOGIC;
DOUT : BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0));
END YIWEI;
ARCHITECTURE one OF YIWEI IS
SIGNAL DOUT1: STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
PROCESS(CLK0,DIN)
BEGIN
IF CLK0'EVENT AND CLK0='1' THEN
DOUT1 <= DOUT1(6 DOWNTO 0)&DIN;
END IF;
IF DOUT1="11011010" THEN
DOUT<=DOUT1;
END IF;
END PROCESS;
END one;
(3)经编译成功后,点击File---Creat/Update---Creat Simbol Files For
Current File 后生成STAKE模块如下:
4.用原理图输入法设计顶层文件
(1)打开Quartus II软件,进入编辑环境。

(2)创建新的原理图文件BDF,命名为DINGCENG,根据总体设计思路在Project 中调用底层文件生成的模块设计出如下原理图:
5.DINGCENG顶层文件仿真结果如下:
6.仿真分析:
IF CLK0'EVENT AND CLK0='1' THEN
DOUT1 <= DOUT1(6 DOWNTO 0)&DIN;
END IF;
IF DOUT1="11011010" THEN
DOUT<=DOUT1;
END IF;
END PROCESS;
END one;
由此知:序列值为11011010时,才将其给DOUT输出端口,检测到11010序列时RESULT输出端口值为1。

应该改进为DOUT显示每次移位的序列值,仿真结果便更加完善,即序列随着改变当含有11010时被检测到,RESULT输出1。

(六)实验改进和实验体会
本实验体现出工程设计的层次化,在今后的工程项目设计中将常用到层次化设计,由底层到顶层设计步骤。

在我的设计中,序列信号发生器和移位寄存器两底层设计采用VHDL语言文本设计法,然后生成模块,在顶层中采用原理图设计法,在Project中调用底层模块。

最终设计出顶层文件。

相关文档
最新文档