文档库 最新最全的文档下载
当前位置:文档库 › 实验二 序列信号发生及检测器

实验二 序列信号发生及检测器

实验二 序列信号发生及检测器
实验二 序列信号发生及检测器

南昌大学实验报告

学生姓名:柳宇航学号:6102113025专业班级:通信工程中兴131班

实验类型:□验证□综合□设计□创新实验日期:2015.10.29实验成绩:

二序列信号发生和检测器设计

(一)实验要求

完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能,具体要求如下:

1、先用设计0111010011011010序列信号发生器,其最后6BIT数据用LED显示出来;

2、再设计一个序列信号检测器,检测上述序列信号,若检测到串行序列“11011”则输出为“1”,

否则输出为“0”。

(二)实验步骤

1.建立工作库文件夹,输入计数器的Verilog代码并存盘。

2.选目标器件CycloneII中的EP2C35F672C8并编译。

3.建立仿真波形文件,设置仿真结束时间和输入条件,进行波形仿真。

复位

图1仿真波形的建立

检测到序列11011,亮灯

图2检测11011序列

波形分析:当RST为低电平时,复位。当RST为高电平,开始输入并检测序列。当检测到序列11011时,z输出高电平,led灯亮。

4.管脚分配

led[0]PIN_G13

led[1]PIN_G15

led[2]PIN_G14

led[3]PIN_H12

led[4]PIN_H11

Q PIN_L9

z PIN_H10

clk PIN_C13

rst PIN_A6

5.下载测试。

下载到实验箱上测试,上推K8,LED1至LED5移动显示输入序列信号0111010011011010的连续5位,当显示为11011时,LED8亮,可知测试结果符合序列信号发生检测器要求。

(三)实验小结

本实验主要主要由以下两部分组成:

1:序列信号发生器

设置q<=16'b0111010011011010;

q[0]<=q[15];

Q<=q[15];

q[15:1]<=q[14:0];

通过循环移位串行输出,并在LED

2:序列信号检测器

检测11011序列,一共有六个状态,分别为:

S=5'd00000,

A=5'd00001,

B=5'd00011,

C=5'd00110,

D=5'd01101,

E=5'd11011;

状态转移图为:

实验8-序列信号发生器

实验8-序列信号发生器

实验8 序列信号发生器 实验目的: 1.熟悉掌握EDA软件工具Multisim 的仿真测试应用。 2.熟悉序列信号发生器的工作原理。 3.学习序列信号发生器的设计方法。 实验仪器设备与主要器件: 实验箱一个;双踪示波器一台;稳压电源一台;函数发生器一台。 4位十进制加法计数器74LS160;4位二进制加法计数器74LS161。 8选1数据选择器74LS251、74LS152、74LS151。 实验内容: 1.用计数器74LS160设计一个7位巴克码(0100111)的产生电路,画出电路时序图。用示波器观察电路输出的波形。 实验原理: ①先设计计数器。由于序列长度为7,所以选用74LS160设计一个八进制计数器。 QB?。 现采用置零法,有效状态为0000~0110,所以LOAD=QC ②然后设计组合输出电路。令计数器计数过程中每一状态的输出符合给定序列要求,用8选一数据选择器74LS251.实现逻辑函数,且数据选择器的数据输入端D0 D1 D2 D3 D4 D5 D6 D7 0 1 0 0 1 1 1 * 实验分析:如电路图所示,将计数器的输出QCQBQA作用于数据选择器的地址输入端,于是,每计一个数,数据选择器就输出一个预先置好的数据。当CP信号持续不断地加到计数器上,QCQBQA的状态(也即74LS251的地址输入代码)按0000~0110的顺序不断循环,对应的输出也不断地循环:0100111 实验结果与现象:

2.设计灯光控制逻辑电路。要求红、绿、黄三种颜色的灯在时钟信号作用下按表2—8—2 CP顺序红绿黄 0 0 0 0 1 1 0 0 2 0 1 0 3 0 0 1 4 1 1 1 5 0 0 1 6 0 1 0 7 1 0 0 8 0 0 0 实验原理: ①先设计计数器。从表2—8—2可以看出三个序列信号的序列长度为8,所以选用74LS160设计一个八进制计数器。现采用置零法,有效状态为0000~0111,所以LOAD=QC ?。 QA? QB ②然后设计组合输出电路。该电路需产生三个序列信号,所以需要三个数据选择器74LS251。令计数器计数过程中每一状态的输出符合给定序列要求,用8选一数据选择器74LS251.实现逻辑函数,且数据选择器的数据输入端所置数为: D0 D1 D2 D3 D4 D5 D6 D7 0 1 0 0 1 0 0 1 D0 D1 D2 D3 D4 D5 D6 D7 0 0 1 0 1 0 1 0

数字逻辑电路实验报告

数字逻辑电路 实验报告 指导老师: 班级: 学号: 姓名: 时间: 第一次试验一、实验名称:组合逻辑电路设计

二、试验目的: 1、掌握组合逻辑电路的功能测试。 2、验证半加器和全加器的逻辑功能。 3、、学会二进制数的运算规律。 三、试验所用的器件和组件: 二输入四“与非”门组件3片,型号74LS00 四输入二“与非”门组件1片,型号74LS20 二输入四“异或”门组件1片,型号74LS86 四、实验设计方案及逻辑图: 1、设计一位全加/全减法器,如图所示: 电路做加法还是做减法是由M决定的,当M=0时做加法运算,当M=1时做减法运算。当作为全加法器时输入信号A、B和Cin分别为加数、被加数和低位来的进位,S 为和数,Co为向上的进位;当作为全减法时输入信号A、B和Cin分别为被减数,减数和低位来的借位,S为差,Co为向上位的借位。 (1)输入/输出观察表如下: (2)求逻辑函数的最简表达式 函数S的卡诺图如下:函数Co的卡诺如下: 化简后函数S的最简表达式为: Co的最简表达式为:

(3)逻辑电路图如下所示: 2、舍入与检测电路的设计: 用所给定的集成电路组件设计一个多输出逻辑电路,该电路的输入为8421码,F1为“四舍五入”输出信号,F2为奇偶检测输出信号。当电路检测到输入的代码大于或等于5是,电路的输出F1=1;其他情况F1=0。当输入代码中含1的个数为奇数时,电路的输出F2=1,其他情况F2=0。该电路的框图如图所示: (1)输入/输出观察表如下: B8 B4 B2 B1 F2 F1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1

序列信号发生器分析

华南师范大学实验报告 学生姓名林竞浩李瑜贤学号20102804016 专业多媒体与网络技术年级、班级2010级4班 课程名称模拟电路与数字电路实验项目555定时器的应用 实验类型□验证□设计□综合实验时间2011年月日 实验指导老师实验评分 一、实验目的 1 学会构建序列发生器的基本方法 2掌握对序列信号发生器序列信号的测试分析方法。 二、实验仪器 安装有Multisim10软件的个人电脑 三、实验原理 序列信号器产生序列信号,有多种方法。本实验采用计数器和数据选择器构成发生。图一中四位二进制同步计数器74S163状态输出端QC,QB,QA输出的数据,送入8选1数据选择器74S151的地址输入端ABC,需要获取产生的序列信号接至数据选择器74S151数据输入端D0-D7,数据从Y或W端输出,实验电路原理图如下

四、实验步骤 1设定产生周期为00010111序列信号。 2打开电脑Multisim10操作平台,从TTL元件库中取出74S163,74S151,显示器件库中取下带译码器的数码管及探针等器件,以及逻辑分析仪,按实验电路图连接好。 3设定时钟信号发生器V1的频率为100HZ .调整好实验电路后,数码管有0-7计数显示,探针有闪动。 4双击打开逻辑分析仪工作界面,以备测试波形。调整逻辑分析仪时钟源为外同步。正常后,观察数码管,探针,逻辑分析仪波形的变化,把相关数据填入表1中 输入时钟脉冲计数器输出逻辑指示灯数码管显示 QC QB QA Y 0 0 0 0 N 0 1 0 0 1 N 1 2 0 1 0 N 2 3 0 1 1 Y 3 4 1 0 0 N 4 5 1 0 1 Y 5

实验三序列发生器与序列检测器实验报告

南昌大学实验报告姓名: 学号:6100210173 专业班级:中兴通信101 实验类型:验证□综合■设计□创新□实验日期:2012、11、16 实验四序列信号发生器与检测器设计 一、实验目的 1、.学习VHDL文本输入法 2、学习有限状态机的设计 3、设计序列信号发生器和检测器 二.实验内容与要求 1. 设计序列发生器,完成序列为0111010011011010的序列生成器 2.用有限状态机设计序列检测器,实现串行序列11010的检测器 3. 若检测到符合要求的序列,则输出显示位为“1”,否则为“0” 4. 对检测到的次数计数 三.设计思路 1.设计分频器 因为最终要把待检测序列的检测次数在数码管上显示出,所以必须设计一个分频器,将起始频率作为数码管的扫描频率,而将分频后的频率作为序列发生器的移位频率,所以在程序中设置10KHZ进行分频分成1HZ脉冲(10KHZ的扫描频率是为了让数码管的动态显示更加清晰) 2.设计序列发生器 在这次的设计序列发生器时没有用状态转移的方法来来形成一个16位的序列,而是通过直接设计一串16位的序列,通过对最高位的输出与并置来形成一串循环的16位序列,这样设计简单方便,易于操作与控制,也减少了在状态转移产生的误差,其主要的核心程序为: architecture bhv of p2 is signal bs: std_logic_vector(15 downto 0):="0111010011011010"; begin xlout<=bs(15); process (clk1hz) begin if (clk1hz'event and clk1hz='1') then bs<= bs(14 downto 0)&bs(15); 先将序列最高位输出至序列检测器中,然后在一个脉冲作用下,将此时最高位变成最低位,其余14位不变,使序列循环移动,最终形成一个16位循环序列。 3.设计序列检测器 基本思想是采用有限状态机设计,通过状态的转移来实现被检测序列的的检测,首先设定6个状态S0 S1 S2 S3 S4 S5 通过这6个状态的转移情况来检测出11010这个序列。

1011序列检测器

综合设计性实验报告 题目: 学生姓名: 学号: 班级: 指导教师: 学期:2010——2011第2学期

目录 一基本知识点 (1) 二实验器件 (1) 三设计思路 (1) 四设计过程 (2) (一)三位二进制减法计数器(无效状态000,001) (二)5 五引脚功能 (9) 六逻辑电路图: (11) 七实验结果波形图 (12) 八设计心得体会 (12)

一基本知识点 1、掌握时序电路的设计方法和步骤 2、掌握触发器的设计与应用 3、掌握移位寄存器的原理与应用 4 熟悉集成电路的引脚排列; 5 掌握芯片的逻辑功能及使用方法; 6 了解序列产生及检测器的组成及工作原理 7 会在EWB软件上进行仿真; 二实验器件 1、移位寄存器74LS194 1片 2、负边沿JK触发器74LS112 1片 3四输入与非门74LS20 1片 4、六输入非门74LS05 1片 5 电源一个 6 地线一个 7 与门,或门,非门若干个 8 时钟脉冲一个 三设计思路 1作原始状态表。根据给定的电路设计条件构成原始状态表和状

态转化图 2状态表的简化。原始状态表通常不是最小化状态表,它往往包括多余的状态,因此必须首先对它进行简化。 3状态分配。即对简化后的状态给以编码。这就要根据状态数确定触发器的数量并对每个状态指定一个二进制数构成的编码。 4根据给定的电路设计条件选择触发器根据 5 作激励函数和输出函数。根据选用的触发器激励表和电路的状态表,综合出电路中各触发器的激励函数和电路的输出函数。 ⑸6画逻辑图,并检查自启动功能 四设计过程 (一)101101001信号发生器的设计 设计一个信号序列发生器,在产生的信号序列中,含有“1011”信号码,要求用一片移位寄存器,生成信号序列“10110100”,其中含有1011码,其设计按以下步骤进行:、、 1本实验所用仪器为移位寄存器74LS194,确定移存器的位数n。因M=9,故n≥4,用74LS194 的四位。 2确定移存器的九个独立状态。将序列码101101001按照每四位一组,划分为九个状态,其迁移关系如下所示: 3作出状态转换表及状态转换图如下:

序列检测器实验报告

序列检测器设计 实验内容: 设计一个1110010序列检测器,即检测器检测到序列1110010时,输出为1,否则输出为0。 输入信号:一个时钟输入信号clk; 一个输入端x以输入序列来检测; 一个输入y用来选择是检测序列1110010或是检测自己输入的序列;一个输入k(7..0)用来输入想要检测器检测的序列; 输出信号:一个7位输出信号q,用来输出正在检测的7位序列;一个1位输出信号unlk,当被检测序列符合时,输出unlk为1否则为0; 中间信号:再定义两个7位的中间信号a和combination; 执行操作:在上升的时钟沿时候,将从x输入的序列赋给7位a,在y等于1的情况下,令中间信号combination为1110010,否则,在y等于0的情况下,令中间信号combination为从k输入的七位长序列。最后把a的值赋给q,如果a与combination输出unlk等于1否则等于0。 (1)序列检测器语言设计: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; USE IEEE.STD_LOGIC_ARITH.ALL;

entity xulie2 is port ( clk,x:in std_logic; y:in std_logic; k:in std_logic_vector(7 downto 1); unlk:out std_logic; q:out std_logic_vector(7 downto 1)); end xulie2; architecture art of xulie2 is signal a:std_logic_vector(7 downto 1); signal combination: std_logic_vector(7 downto 1); begin process(clk) begin if clk'event and clk='1' then a<=a(6 downto 1)&x; if y='1' then combination<="1110010";

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

班级:生物医学工程141班姓名:刘玉奔学号:6103413018 设计性实验项目名称序列信号发生和检测器设计 (一)实验目的 1、进一步熟悉EDA实验装置和QuartusⅡ软件的使用方法; 2、学习有限状态机法进行数字系统设计; 3、学习使用原理图输入法进行设计。 (二)设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能,具体要求如下: 1、先用设计0111010011011010序列信号发生器,其最后6BIT数据用LED显示出来; 2、再设计一个序列信号检测器,检测上述序列信号,若检测到串行序列“11010”则 输出为“1”,否则输出为“0”; 3、检查检测01011,即将发生的序列最后五位改为01011,为0111010011001011 (三)主要仪器设备 1、微机1台 2、QuartusII集成开发软件1套 3、EDA实验装置1套 (四)实验步骤 主要有三个模块 1:一个设计序列信号发生器 2:一个设计序列信号检测器 3:综合两个设计,通过对模块的调用达到最终效果 (五)实验数据 --设计时间:2016.10.29 --设计者:刘玉奔 --设计内容:1、先用设计0111010011001011序列信号发生器,其最后6BIT数据用LED 显示出来; --2、再设计一个序列信号检测器,检测上述序列信号,若检测到串行序列“01011”则输出

为“1”,否则输出为“0”; --序列信号发生器部分 LIBRARY IEEE;--声明IEEE库 USE IEEE.STD_LOGIC_1164.ALL;--允许使用IEEE中程序包STD_LOGIC_1164 ENTITY serialsignalgenerator IS PORT(CLK,RST:IN STD_LOGIC; CO:OUT STD_LOGIC; LED0,LED1,LED2,LED3,LED4,LED5:OUT STD_LOGIC); END behav; 得到symbol file: 序列信号检测器: LIBRARY IEEE;--声明IEEE库 USE IEEE.STD_LOGIC_1164.ALL;--允许使用IEEE中程序包STD_LOGIC_1164 ENTITY serialsignaltest IS PORT(CLK,DIN,CLR:IN STD_LOGIC; SS:OUT STD_LOGIC; LED0,LED1,LED2,LED3,LED4:OUT STD_LOGIC);

实验四序列发生器

南昌大学实验报告学生姓名:学号:专业班级:中兴101班 实验类型:□验证□综合■设计□创新实验日期:2012、11、16成绩: 实验四序列信号发生器与检测器设计 一、实验目的 1、学习VHDL文本输入法 2、学习有限状态机的设计 3、利用状态机实现串行序列的输出与序列的检测 4、继续学习优化设计 二.实验内容与要求 1. 设计序列发生器,完成序列为0111010011011010的序列生成器 2.用有限状态机设计序列检测器,实现串行序列11010的检测器 3. 若检测到符合要求的序列,则输出显示位为“1”,否则为“0” 4. 对检测到的次数计数 5.整个工程采用顶层文件+底层模块的原理图或文本的设计思路 三、实验仪器 PC机、Quartus II软件、EDA实验箱 四、实验思路 1.设计序列发生器 基本思想为一个信号CQ1计数,给另一个信号CO(代表序列的每一位)赋值的方法: 先设定端口CQ1用于产生序列时计数,因为序列共16位,因此端口CQ1为标准逻辑矢量,位宽为4,设另一个端口M代表序列的每一位,CQ1每计一个数,就给M赋一个值,这样产生一个16位的序列。由于端口不能参与相关运算,因此在结构体中我分别定义了信号CQ1(标准逻辑矢量,位宽4),信号Q与相应的端口CQ1 CO对应,在进程中参与相应的运算,在程序的最后再用端口接收信号: CO<=Q; 在进程中我采用case –when 语句,如当CQ1为“0000”的时候,给另一信号Q赋‘0’,当CQ1为“0001” 2.序列检测器 序列检测器设计的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及序列,直到在连续的检测中收到的每一位码都与实验要求相同。在此,必须利用状态转移图。 电路需要分别不间断记忆:初始状态、1、11、110、1101、11010共六种状态,状态转移如图:

序列检测器的设计 实验报告.doc

EDA实验报告书

WHEN OTHERS => NST <= st0; END CASE ; END PROCESS; REG: PROCESS (CLK,RST) BEGIN IF RST='1' THEN ST<=s0; ELS IF ( CLK'EVENT AND CLK='1') THEN ST<=NST; END IF; END PROCESS REG; SOUT<='1'WHEN ST=s8 ELSE '0' ; END behav; 仿真波形 图

实验结果LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY SM1 IS PORT ( clock : IN STD_LOGIC; reset : IN STD_LOGIC := '0'; input1 : IN STD_LOGIC := '0'; input2 : IN STD_LOGIC := '0'; output1 : OUT STD_LOGIC ); END SM1; ARCHITECTURE BEHA VIOR OF SM1 IS TYPE type_fstate IS (st1,st2,st3,st4,st5,st6,st7,st8,st0); SIGNAL fstate : type_fstate; SIGNAL reg_fstate : type_fstate; BEGIN PROCESS (clock,reset,reg_fstate) BEGIN IF (reset='1') THEN fstate <= st1; ELSIF (clock='1' AND clock'event) THEN fstate <= reg_fstate; END IF; END PROCESS; PROCESS (fstate,input1,input2) BEGIN output1 <= '0'; CASE fstate IS WHEN st1 => IF (((input1 = '1') AND (input2 = '1'))) THEN reg_fstate <= st2; ELSE reg_fstate <= st0; END IF;

序列检测器

目录 第一章设计方案.........................................................1 1.1设计任务..........................................................1 1.2设计要求..........................................................1 1.2.1整体功能要求.................................................1 1.2.2测试要求.....................................................1 第二章设计思路.........................................................2 2.1数字频率计介绍....................................................2 2.2设计原理..........................................................2 2.2.1频率测量的基本原理...........................................2 2.2.2整体方框图及原理.............................................2 2.2.3序列器结构框图...............................................2 第三章模块介绍.........................................................4 3.1顶层文件模块......................................................4 3.1.1顶层文件原理.................................................4 3.1.2顶层文件模块verilog语言描述程序.............................4 3.2伪随机序列发生器模块..............................................4 3.2.1伪随机序列发生器.............................................4 3.2.2伪随机序列发生器原理.........................................5 3.2.3伪随机序列发生器模块verilog语言描述程序.....................6 3.3序列检测器模块....................................................7 3.3.1序列检测器原理...............................................7 3.3.2序列检测器模块verilog语言描述程序...........................7 第四章序列检测器的实现.................................................8 4.1序列检测器的verilog语言程序描述及仿真............................8 4.1.1序列检测器的verilog语言程序描述.............................8 4.1.2序列检测器的波形仿真.........................................9 4.2 设计中遇到的问题与解决方法.......................................10 4.2.1设计中遇到的问题.............................................10 4.2.2解决方法.....................................................10 第五章设计小结.........................................................11 5.1 心得体会..........................................................11

EDA实验报告--序列信号发生器

南昌大学实验报告 学生姓名:林聪学号:5801209051 专业班级:中兴091班 实验类型:□验证□综合□设计□创新实验日期:2011/10/19实验成绩: 实验三序列信号发生和检测器 一、实验目的 1、进一步熟悉EDA实验装置和QuartusⅡ软件的使用方法; 2、学习有限状态机法进行数字系统设计; 二、设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能,具体要求如下: 1、先设计0111 0100 1101 1010序列信号发生器,其最后8BIT数据用LED显示出来; 2、再设计一个序列信号检测器,检测上述序列信号,若检测到串行序列“11010”则输出为“1”, 否则输出为“0”; 三、主要仪器设备 1、微机1台 2、QuartusII集成开发软件1套 3、EDA实验装置1套 四、实验步骤 1、分析实验,由于实验需要产生具备序列发生器和序列检测器的功能,根据分模块处理的 思想,可以把实验分为两个模块,通过顶层元件建立输入输出的连接。 2、建立模块使用VHDL编程,首先,建立序列发生器的模块,名为xlfsq,VHDL代码如下: libraryieee; use ieee.std_logic_1164.all; useieee.std_logic_unsigned.all; entityxlfsq is port(clk,rst:instd_logic; cout,e1,e2,e3,e4,e5,e6,e7,e8:out std_logic); endxlfsq; architecture one of xlfsq is signalcq:std_logic; signal f1,f2,f3,f4,f5,f6,f7:std_logic; begin P1:process(clk,rst) variablecount:std_logic_vector(3 downto 0); begin if(rst='0')then count:="0000"; elsif(clk'event and clk='1')then count:=count+1; end if;

110序列检测器仿真报告

Lab 110序列检测器仿真 1.实验目的 学会序列检测的设计,学会modelsim的使用,熟悉用Quartus编译Verilog语言的方法,熟悉DEO板的操作。 2.实验内容 1)用HDL语言的输入方式,实现110序列检测器。 2)用modelsim进行仿真。 3)用DE0下载并进行测试。 3.代码分析 1)该实验使用状态机进行设计,使用两个always语句,一个作为时序逻辑,另一个作为组合逻辑,其结构图为 2)首先定义输入输出变量和中间变量: module test110(data_in,data_out,Q,cp,en); output data_out,Q; //定义输出变量; input data_in,cp,en; //定义输出变量; reg data_out; //定义中间变量;

reg[1:0]pres_state,next_state; //定义两个时态; wire Q; //定义wire型中间变量; parameter s0=2'd0,s1=2'd1,s2=2'd2; //指定状态编码; 3)第一个always语句实现时序逻辑功能: fenpinqi(Q,cp); //调用分频器,改变时钟信号; always@(posedge Q or negedge en) //采用边沿触发; if(~en)pres_state<=s0; //清零; else pres_state<=next_state; //在Q上升沿触发器状态翻转; 4)第二个always语句实现组合逻辑功能: always@(pres_state or data_in) //电平触发事件 Begin next_state<=2' xx; //定义输出为零 data_out=1'b0; case(pres_state) //判断条件为现态的状态,对各状态值惊醒判断,并输出值s0:next_state<=(data_in==1)?s1:s0; s1:next_state<=(data_in==1)?s2:s0; s2:begin next_state<=(data_in==1'b1)?s2:s0; if(data_in==1'b0)data_out=1'b1; end endcase end endmodule 5)所调用的分频器的模块: module fenpinqi(Q,CP); output Q; //定义输出端口 input CP; //定义输入端口 wire [32:0]A; //定义中间变量 counter(A,CP); //调用计数器进行计数 D_FF(Q,~Q,CP,A); //调用D触发器是信号发生翻转endmodule module counter(Q,CP); //计数器,每第25M个信号发生一次变化output Q[32:0]; //定义输出端口 input CP; //定义信号输入端口 reg[32:0]Q; //定义中间变量 always@(posedge CP) //采用边沿触发 if(Q==33'd2*******)Q<=33'd0;//每25M作为一个计数周期 else Q<=Q+1'd1; //Q自增并输出 endmodule module D_FF(Q,D,CP,CR); //D触发器 output Q; //定义输出端 input D,CP; //定义输入端及D信号输入 input [32:0]CR; //定义输入变量 reg Q; //定义中间变量

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

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 实验三序列信号检测器设计 (一)实验目的 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,根据其总体设计思路设计 出如下原理图:

(Proteus数电仿真)序列信号发生器电路设计

实验8 序列信号发生器电路设计 一、实验目的: 1.熟悉序列信号发生器的工作原理。 2.学会序列信号发生器的设计方法。 3.熟悉掌握EDA软件工具Proteus 的设计仿真测试应用。 二、实验仪器设备: 仿真计算机及软件Proteus 。 74LS161、74LS194、74LS151 三、实验原理: 1、反馈移位型序列信号发生器 反馈移位型序列信号发生器的结构框图如右图 所示,它由移位寄存器和组合反馈网络组成, 从寄存器的某一输出端可以得到周期性的序列 码。设计按一下步骤进行: (1)确定位移寄存器位数n ,并确定移位 寄存器的M 个独立状态。 CP 将给定的序列码按照移位规律每 n 位一组,划分为M 个状态。 若M 个状态中出现重复现象,则应增加移位寄存器的位数。用n+1位再重复上述过程,直到划分为M 个独立状态为止。 (2)根据M 各不同状态列出寄存器的态序表和反馈函数表,求出反馈函数F 的表达式。 (3)检查自启动性能。 (4)画逻辑图。 2、计数型序列信号发生器 计数型序列信号发生器和组合的结构框图 如图 所示。它由计数器和组合输出网络两部分 组成,序列码从组合输出网络输出。设计 过程分为以下两步: (1)根据序列码的长度M 设计模M (2)按计数器的状态转移关系和序列码的要求组合输出网络。由于计数器的状态设置和输出序列没有直接关系,因此这种结构对于输出序列的更改比较方便,而且还能产生多组序列码。 四、计算机仿真实验内容及步骤、结果: 1、设计一个产生100111序列的反馈移位型序列信号发生器。 1、根据电路图在protuse 中搭建电路图

实验三_用状态机实现序列检测器的设计

实验三用状态机实现序列检测器的设计 一、实验目的: 用状态机实现序列检测器的设计,并对其进行仿真和硬件测试。 二、原理说明: 序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出a,否则输出b。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。例3-1描述的电路完成对序列数"11100101"的。当这一串序列数高位在前(左移)串行进入检测器后,若此数与预置的密码数相同,则输出“a”,否则仍然输出“b”。 【例3-1】 //顶层文件: module XULIEQI(clk,reset,din8,LED7S); input clk; input reset; input [7:0] din8; output [6:0] LED7S; wire [3:0] AB; xulie u1 (clk, din8, reset, din); schk u2 (din,clk,reset,AB); decled7s u3 (AB,LED7S); endmodule //前端预置8位数据输入: module xulie(clk, din8, reset, din); input clk; input[7:0] din8;

input reset; output din; parameter s0 = 3'b000, s1 = 3'b001, s2 = 3'b010, s3 = 3'b011, s4 = 3'b100, s5 = 3'b101, s6 = 3'b110, s7 = 3'b111; reg[2:0] cur_state,next_state; reg din; always @ (posedge clk or negedge reset) if(!reset) cur_state <= s0; else cur_state <= next_state; always @ (cur_state or din8 or din ) begin case (cur_state) s0 : begin din <= din8[7]; next_state <= s1; end s1 : begin din <= din8[6]; next_state <= s2; end s2 : begin din <= din8[5]; next_state <= s3; end s3 : begin din <= din8[4]; next_state <= s4; end s4 : begin din <= din8[3]; next_state <= s5;

1101序列检测器

1101序列检测器实验报告

实验名称1101序列检测器设计 实验时间实验地点 姓名合作者 实验人 学号实验小组第组实验性质□验证性□设计性□综合性□应用性 实验成绩: 评阅教师签名:Moore型 /*********1101序列检测器代码*******/ module moore1101(reset ,clk ,date_in ,date_out); input reset,clk,date_in; output date_out; reg[2:0] state; parameter st0 = 3'b000,st1 = 3'b001,st2 = 3'b010,st3 = 3'b011,st4 = 3'b100; always@(negedgeclk or posedge reset)begin if(reset == 1) state <= st0; end always@(negedgeclk)begin case(state) st0: state <= date_in?st1:st0; st1: state <= date_in?st2:st0; st2: state <= date_in?st2:st3; st3: state <= date_in?st4:st0; st4: state <= date_in?st2:st0; endcase

end assign date_out = state[2]; endmodule /***********测试程序*********/ `timescale 1ns/100ps module selec_td2; reg clk1,reset1,datein; wire dateout; moore1101 u2(.clk(clk1),.reset(reset1),.date_in(datein),.date_out(dateout)); initial begin clk1 = 0; reset1 = 0; #5 reset1 = 1; end always fork #10 clk1 = ~clk1; #10 datein = $random; join Endmodule /**********仿真波形***************/ Mealy型 /*********1101序列检测器代码*******/ module mealy1101(reset ,clk ,date_in ,date_out); input reset,clk,date_in; output date_out;

数电实验报告 序列信号发生器

实验报告 实验八序列信号发生器 2.8.1实验目的 (1)熟悉掌握EDA软件工具Multisim的仿真测试应用。 (2)熟悉序列信号发生器的工作原理。 (3)学习序列信号发生器的设计方法。 2.8.2实验仪器设备与主要器件 实验箱一个;双踪示波器一台;稳压电源一台。 4位十进制加法计数器74LS160;4位二进制加法计数器74LS161。 8选1数据选择器74LS251、74LS152和74LS151。 2.8.3实验原理 序列信号是按照一定规则排列的周期性串行二进制码。 1.计数型序列信号发生器 设计过程分为如下两步: ①根据数列码的长度p设计模p计数器,状态可以任意。 ②按计数器的状态转换关系和序列码的要求设计组合输出电路。由于计数器的状态设置和输出序列没有直接关系,因此这种结构对输出序列的更改比较方便,而且还能够同时产生多组序列码。 2.2.移位型序列信号发生器 移位型数字信号发生器是由移位寄存器和组合反馈电路组成的。组合电路的输出,作为移位寄存器的串行输入。由n位寄存器构成的序列信号发生器所产生的序列信号的最大长度为P=2n。 设Q3Q2Q1Q0的初始状态为1110,在CP作用下,Q3的输出为...110011110011...。在这种序列信号的每个循环周期内,代码1和0是按一定规律排列的。在每个循环周期内,包含代码的个数称为循环长度,也称序列长度,用字母P表示。因前面的序列信号110011是一个信号周期,则P=6。如果有Q2输出序列为111001,Q1输出序列为111100,Q0输出序列则为011110。显然这四个序列0和1的排列相同,初始相位不同而已。 2.8.4实验内容 (1)用计数器74LS160设计一个7位巴克码(010011)的产生电路,画出电路时序图。用示波器观察电路输出波形。 设计思路:输出序列信号与计数器的对映关系式: Y’= 0——1——0——0——1——1——1

110序列编码检测器的设计

110序列编码检测器的设计 设计一个110序列编码检测器。 设计一个序列检测电路,当检测到输入信号出现110的序列编码(按自左至右的顺序)时,电路输出为1,否则输出为0。 指导教师签名: 2008年7月 6 日 指导教师签名: 2008 年7月日 验收盖章 2008年月日 熟悉集成电路的引脚排列。 掌握各种芯片的逻辑功能及使用方法。 了解序列检测器的组成及工作原理。 熟悉序列检测器的设计和制作。 由给定的逻辑功能建立原始状态图和原始状态表。 状态简化。 状态分配。 选择触发器类型。 确定激励方程和输出方程组。 画出逻辑图,并检查自启动能力。 (1)由给定的逻辑功能建立原始状态图和原始状态表

从给定的逻辑功能可知,电路有一个输入信号A和一个输出信号Y,电路功能是对输入信号A的编码序列进行检测,一旦检测到信号A出现连续编码为110序列时,输出为1,检测到其他编码序列,则输出均为0。 设电路的初始状态为a,如图1中大箭头所指。在此状态下,电路输出Y=0,这时可能的输入有A=0和A=1两中情况。当CP脉冲相应边沿到来时,若A=0,则是收到0,应保持在状态a不变;若A=1,则转向状态b,表示电路收到一个1。当在状态b时,若输入A=0,则表明连续输入编码为10,不是110,则应回到初始状态a,重新开始检测;若A=1,则进入c,表示已连续收到两个1。在状态c时,若A=0,表示已收到序列编码110,则输出Y=1,并进入状态d;若A=1,则收到的编码为111,应保持在状态c不变,看下一个编码输入是否为A=0;由于尚未收到最后的0,故输入仍为0。在状态d,若输入A=0,则应回到状态a,重新开始检测;若A=1,电路应转向状态b,表示在收到110之后又重新收到一个1,已进入下一轮检测;在d状态下,无论A为何值,输出Y均为0。根据上述分析,可以得出原始状态图和表1所示的原始状态表。 1 )nn+1nn+1现态(S)次态/输出(S/Y)现态(S)次态/输出( S/Y)

相关文档