课程设计------序列检测器
EDA实验报告实验三、序列检测器的设计
![EDA实验报告实验三、序列检测器的设计](https://img.taocdn.com/s3/m/75f4b456caaedd3383c4d3a2.png)
实验三、序列检测器的设计一、预习内容1、预习序列发生器和检测器的基本工作原理;2、画出实验原理草图;3、写出实验的基本步骤和源程序。
二、实验目的1、掌握序列检测器的工作原理;2、学会用状态机进行数字系统设计。
三、实验器材PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干四、实验要求1、检测连续4个‘1’的状态机,画出状态转移图,并写出VHD代码;(必做部分)2、了解试验箱,完成数据分配器的硬件实验。
(实验一的硬件操作,首次使用请谨慎使用试验箱!)3、检测“10001110”序列,当检测到该序列后输出为‘1’。
(此部分选作)五、实验原理和实验内容1、序列发生器原理(此部分选作)在数字信号的传输和数字系统的测试中,有时需要用到一组特定的串行数字信号,产生序列信号的电路称为序列信号发生器。
本实验要求产生一串序列“10001110”。
该电路可由计数器与数据选择器构成,其结构图如图6-1所示,其中的锁存输出的功能是为了消除序列产生时可能出现的毛刺现象:图6-1 序列发生器结构图2、序列检测器的基本工作过程:序列检测器用于检测一组或多组由二进制码组成的脉冲序列信号,在数字通信中有着广泛的应用。
当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
状态图如图6-2所示:图6-2 序列检测器状态图3、状态机的基本设计思想:在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。
同时,状态机的设计方法也是数字系统中一种最常用的设计方法。
一般来说,标准状态机可以分为摩尔(Moore)机和米立(Mealy)机两种。
EDA序列检测器设计课程设计
![EDA序列检测器设计课程设计](https://img.taocdn.com/s3/m/9a0f035deef9aef8941ea76e58fafab069dc44c5.png)
EDA序列检测器设计课程设计一、课程目标知识目标:1. 让学生掌握EDA(电子设计自动化)序列检测器的基本原理与设计流程;2. 使学生了解并掌握数字逻辑设计的基本方法,以及Verilog HDL硬件描述语言;3. 帮助学生理解同步时序电路的工作原理,掌握序列检测器的功能与实现。
技能目标:1. 培养学生运用Verilog HDL进行数字电路设计与仿真能力;2. 培养学生运用EDA工具(如ModelSim、Quartus II等)进行电路仿真、调试的能力;3. 提高学生分析问题、解决问题的能力。
情感态度价值观目标:1. 培养学生积极探究、主动学习的兴趣和热情,增强学生的自主学习能力;2. 培养学生的团队合作意识,提高沟通与协作能力;3. 增强学生的创新意识,鼓励学生勇于尝试、善于实践。
本课程针对电子工程及相关专业高年级学生,结合课程性质、学生特点和教学要求,将课程目标分解为具体的学习成果。
在教学过程中,注重理论与实践相结合,以实际工程项目为背景,引导学生通过自主学习、团队合作、实践创新等方式,达到本课程的教学目标。
通过本课程的学习,使学生具备一定的EDA 技术基础,为未来从事电子设计及相关领域工作打下坚实基础。
二、教学内容1. 序列检测器原理:介绍序列检测器的基本概念、功能、分类及其在数字系统中的应用。
- 教材章节:第三章第二节- 内容:同步时序电路原理,序列检测器设计方法。
2. Verilog HDL基础:讲解Verilog HDL硬件描述语言的基本语法、数据类型、运算符和建模方法。
- 教材章节:第四章- 内容:模块化设计,行为描述与结构描述,组合逻辑与时序逻辑描述。
3. 序列检测器设计:结合实例,分析序列检测器的设计方法与步骤。
- 教材章节:第五章第三节- 内容:Mealy型与Moore型序列检测器设计,状态编码,状态转移图。
4. EDA工具应用:介绍ModelSim、Quartus II等EDA工具的使用,进行电路仿真与调试。
数字逻辑课程设计——111序列检测器
![数字逻辑课程设计——111序列检测器](https://img.taocdn.com/s3/m/cf4cacfdc8d376eeaeaa317c.png)
课程设计课程名称数字逻辑设计题目“1 1 1”序列检测器专业计算机科学与技术专业班级0706姓名孙禹指导教师巩晶2009 年06 月28 日课程设计任务书学生姓名孙禹学生专业班级计算机 0706指导教师巩晶学院名称计算机科学与技术学院一、题目:“1 1 1”序列检测器。
原始条件:使用D触发器( 74 LS 74 )、“与”门( 74 LS 08 )、“或”门( 74 LS 32 )、非门( 74 LS 04 ),设计“1 1 1”序列检测器。
二、要求完成设计的主要任务如下:1.能够运用数字逻辑的理论和方法,把时序逻辑电路设计和组合逻辑电路设计相结合,设计一个有实际应用的数字逻辑电路。
2.使用同步时序逻辑电路的设计方法,设计“1 1 1”序列检测器。
写出设计中的5个过程。
画出课程设计图。
3.根据74 LS 74、74 LS 08、74 LS 32、74 LS 04集成电路引脚号,在设计好的“1 1 1”序列检测器电路图中标上引脚号。
4.在试验设备上,使用74 LS 74、74 LS 08、74 LS 32、74 LS 04集成电路连接、调试和测试“1 1 1”序列检测器电路。
指导教师签名:2009 年6 月29 日系主任(责任教师)签名:2009 年月日一、实验目的:1、深入了解与掌握同步时序逻辑电路的设计过程;2、了解74LS74、74LS08、74LS32及74LS04芯片的功能;3、能够根据电路图连接好实物图,并实现其功能。
学会设计过程中的检验与完善。
二、实验内容描述:题目:“1 1 1”序列检测器。
原始条件:使用D触发器( 74 LS 74 )、“与”门( 74 LS 08 )、“或”门( 74 LS 32 )、非门( 74 LS 04 ),设计“1 1 1”序列检测器。
集成电路引脚图:D触发器( 74 LS 74 ) “与”门( 74 LS 08 )“或”门( 74 LS 32 ) 非门( 74 LS 04 )三、实验设计过程:第1步,画出原始状态图和状态表。
时序电路设计-101序列检测器
![时序电路设计-101序列检测器](https://img.taocdn.com/s3/m/32db88ce6f1aff00bed51edb.png)
数字逻辑设计及应用课程设计报告*名:**学号:*************选课号:设计题号: 5一.设计题目:设计101序列检测器二.设计要求要求使用状态机设计一个序列检测器,检测输入数据,当输入中出现101时,输出1,否则输出为0。
不进行重复判断,即当出现10101…时,输出为00100…判断的具体流程如下:1.电路复位,进入状态S0,等待输入2.S0状态下:如果输入为0,则停留在S0,如果输入为1,则跳转到S13.S1状态下:如果输入为0,则跳转到S2,如果输入为1,则停留在S14.S2状态下:如果输入为1,则输出1,并跳转到S0,如果输入为0,则输出0,并跳转到S0检测器电路实现:时钟信号,1 bit输入待判断信号,1bit输出判断结果。
三.设计过程1.设计方案:通过使用ISE编写verilog语言,实现以下过程:1s3只有当s3接收到的输入信号为1的时候,输出才会为1,其余时候输出都为0.2.设计程序:模块文件:`timescale 10ns/1ns//////////////////////////////////////////////////////////////////////////////////// Company:// Engineer://// Create Date: 21:02:40 06/06/2012// Design Name:// Module Name: abcd// Project Name:// Target Devices:// Tool versions:// Description://// Dependencies://// Revision:// Revision 0.01 - File Created// Additional Comments://////////////////////////////////////////////////////////////////////////////////// module abcd(input reset,input clk,input ipt,output reg result);parameter [1:0] s0 = 2'b00, s1 = 2'b01, s2 = 2'b10;reg[1:0] state;always @ (posedge clk)beginif(reset)beginstate<=s0;result<=0;endelsebegincase(state)s0:beginif(ipt==0)beginstate<=s0;result<=0;endelsebeginstate<=s1;result<=0;endends1:beginif(ipt==0)beginstate<=s2;result<=0;endelsebeginstate<=s1;result<=0;endends2:beginif(ipt==0)beginstate<=s0;result<=0;endelsebeginstate<=s0;result<=1;endenddefault:beginstate<=s0;result<=0;endendcaseendendendmodule测试文件:`timescale 10ns / 1ps//////////////////////////////////////////////////////////////////////////////// // Company:// Engineer://// Create Date: 23:05:50 06/06/2012// Design Name: test_detector// Module Name: D:/TDDOWNLOAD/fortwo2/haha.v// Project Name: fortwo2// Target Device:// Tool versions:// Description://// Verilog Test Fixture created by ISE for module: test_detector //// Dependencies://// Revision:// Revision 0.01 - File Created// Additional Comments:////////////////////////////////////////////////////////////////////////////////// module haha;module test_detector();reg clk;reg reset;reg ipt;wire result;reg[20:0] indata=20'b101001110011011110110;integer i;initial clk=1;always #1 clk=~clk;initialbeginreset=1;ipt=0;#4reset=0;for(i=0;i<21;i=i+1)beginipt=indata[i];#2;end#10$stop;endabcd detector_instance(.clk(clk),.reset(reset),.ipt(ipt),.result(result));endmodule3.仿真结果四.设计结论(包括:设计结果分析、设计中遇到的问题、设计心得和体会等) 1.设计结果分析:以时钟信号的一个周期为基准,有仿真结果可看出,当输入(ipt)为连续的一个周期高一个周期的低一个周期的高(即101)时,输出(result)为高。
序列检测器verilog课程设计
![序列检测器verilog课程设计](https://img.taocdn.com/s3/m/bcedf8645627a5e9856a561252d380eb629423ac.png)
序列检测器verilog课程设计一、课程目标知识目标:1. 掌握Verilog硬件描述语言的基本语法和结构;2. 理解序列检测器的基本原理和工作流程;3. 学会使用Verilog设计并实现序列检测器。
技能目标:1. 能够运用Verilog语言编写简单的数字电路模块;2. 能够对序列检测器进行模块划分,并进行代码编写和仿真;3. 能够分析并解决序列检测器设计过程中遇到的问题。
情感态度价值观目标:1. 培养学生对数字电路设计的兴趣和热情,提高其主动学习的积极性;2. 培养学生的团队协作意识,使其学会在团队中发挥自己的作用;3. 培养学生严谨的学术态度,注重实验数据和结果的分析。
分析课程性质、学生特点和教学要求:本课程为电子与计算机工程专业高年级学生的专业课程,旨在培养学生的硬件设计能力。
学生已具备一定的数字电路基础和Verilog编程能力。
课程要求学生能够独立完成序列检测器的设计和仿真,并在实践中提高自身的问题分析和解决能力。
课程目标分解为以下具体学习成果:1. 能够熟练使用Verilog编写基本的数字电路模块;2. 能够理解和分析序列检测器的工作原理;3. 能够独立完成序列检测器的模块划分、代码编写和功能仿真;4. 能够针对设计过程中遇到的问题进行有效分析和解决;5. 能够在团队项目中发挥自己的优势,为团队贡献力量;6. 能够严谨对待学术问题,注重实验数据和结果的准确性。
二、教学内容1. Verilog基础知识回顾:变量定义、数据类型、运算符、控制语句等;2. 序列检测器原理讲解:序列检测器的功能、应用场景、工作原理及状态机设计方法;3. Verilog模块编写:根据序列检测器原理,编写Verilog代码,包括模块声明、端口定义、逻辑描述等;4. 序列检测器模块划分:对序列检测器进行模块划分,实现模块化设计;5. 代码仿真与调试:使用ModelSim等仿真工具,对Verilog代码进行功能仿真,分析并解决可能出现的问题;6. 实验与分析:结合实际电路,搭建序列检测器,进行验证实验,分析实验结果;7. 团队项目实践:分组进行序列检测器设计,培养学生的团队协作能力和实际操作能力;8. 课程总结与拓展:对本章节内容进行总结,拓展学习其他类型的数字电路设计方法。
EDA课设-序列信号检测器
![EDA课设-序列信号检测器](https://img.taocdn.com/s3/m/d589d0ce9ec3d5bbfd0a7491.png)
课程设计任务书学生姓名:李鹤健专业班级:电子1002班指导教师:韩屏工作单位:信息工程学院题目: D/A接口一、初始条件:可用仪器:PC机(Quartus II软件)硬件:EDA-IV型实验箱。
二、要求完成的主要任务:1设计一个有限状态机,用以检测输入序列“1110101101”由左开始。
(1)画出状态转换图;(2)使用VHDL语言编程;(3)使用EP1C3T144C8芯片。
2将所设计的整个系统写入CPLD 器件中,加上需要的外围电路在实验箱上实现整个系统的硬件搭建,并调试出结果。
3查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
三、时间安排:1、2012 年12月17日集中,作课程设计的任务布置。
2、2012 年12月18日至2012 年12月21日,进行课程设计,软件编程、仿真和调试。
3、2012 年12月22日,机房检查仿真结果,验证设计的可行性和正确性。
4、2012 年12月23日,熟悉实验平台和试验箱。
5、2012 年12月24日至2012年12月26日,进行设计的硬件调试。
6、2012 年12月27日至2012年12月28日,实验室检查设计成果,现场演示硬件实物,提交设计说明书及答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)Abstract (II)绪论 (1)1 QuartusII简介 (2)2 设计内容及要求 (3)2.1设计的目的及主要任务 (3)2.1.1设计的目的 (3)2.1.2 设计任务及主要技术指标 (3)2.2设计思想 (3)3 设计原理与模块分析 (4)3.1 序列检测器介绍 (4)3.2 序列检测器设计原理 (4)3.3 序列检测器模块 (4)3.3.1 分频器模块 (5)3.3.2 序列输入模块 (5)3.3.3 序列检测模块 (5)3.4顶层文件 (7)4 电路仿真与分析....................................................................................... 错误!未定义书签。
实验三_用状态机实现序列检测器的设计1
![实验三_用状态机实现序列检测器的设计1](https://img.taocdn.com/s3/m/4a88cf9851e2524de518964bcf84b9d528ea2c89.png)
实验三_用状态机实现序列检测器的设计1实验三_用状态机实现序列检测器的设计1实验三:用状态机实现序列检测器的设计引言:序列检测器是一种通过检测输入序列中的特定模式来实现特定功能的电路。
在本实验中,将使用状态机来设计和实现一个简单的序列检测器,以此来加深对状态机概念的理解。
一、实验目的:1.理解状态机的基本概念和工作原理2.学习使用状态转移图设计状态机3.设计并实现一个简单的序列检测器二、实验原理:1.状态机概念状态机是由有限个状态和输入信号、输出信号及状态转移函数所确定的一种特殊的信息处理系统。
它根据输入信号的变化,通过状态转移函数切换状态,根据当前状态和输入信号来确定输出信号。
2.状态转移图状态转移图是一种图示方法,用于描述状态机的状态、输入和输出之间的关系。
它由状态节点和状态转移边组成。
状态节点表示状态,状态转移边表示状态之间的转移条件。
三、实验内容:1.确定序列检测器的功能和输入输出规格在本实验中,我们设计一个序列检测器来检测输入序列"101"。
当检测到输入序列为"101"时,输出信号为1,否则输出信号为0。
2.设计状态转移图根据输入输出规格,设计状态转移图。
状态转移图应包括初始状态、输入信号、输出信号和状态转移条件。
假设状态为S0、S1和S2,其中S0为初始状态。
输入信号为X,输出信号为Y。
状态转移条件如下:-从S0状态到S1状态,当输入信号X为1时-从S1状态到S2状态,当输入信号X为0时-从S2状态到S0状态,当输入信号X为1时状态转移图如下所示:```01S0→S1→S2↑______```3.实现状态机电路根据状态转移图,可以实现状态机电路。
使用触发器来存储状态。
每个触发器的输出连接到其他触发器的输入。
根据状态转移图,配置触发器的输入和输出。
配置表如下所示:```状态XY下一个状态S000S0S010S1S100S2S110S1S201S0S210S1```根据配置表,配置触发器的输入和输出。
序列检测器设计-modelsim-verilog-实验报告
![序列检测器设计-modelsim-verilog-实验报告](https://img.taocdn.com/s3/m/378f92806529647d2728528b.png)
实验四-序列检测一、实验目的:1.实验目的:通过学习硬件编程语言,掌握一般时序逻辑分析的方法。
2.学会使用Verilog语言编写实现任意序列检测。
3.学会使用Verilog编写测试文件testbech的方法并在Modelsim中实现时序仿真。
二、实验设备1.PC机一台2.Modelsim软件三、实验内容:序列检测器是能够与从二进制码流中检测出一组特定序列的信号的时序电路。
通过接受的序列号与检测其预设值比较,当检测到输入信号匹配时,输出响应的指示。
设计序列检测器,要求能够识别序列“10010”。
din为数字码流的输入,z是检测标记的输出,高电平表示“发现指定序列”,低电平表示“没有发现指定的序列”。
1.打开Modelsim软件,切换目录至常用位置,这里选择D:\seqdet。
(注,在D:\seqdet 目录下一保存有序列检测文件seqdet.v和测试文件seqdet_tb.v,源程序在附录里)2.然后新建工程,File ->New->Project,建立工程工程为seqdet,设置如下,并在接下来的步骤中添加序列检测文件seqdet.v和测试文件seqdet_tb.v。
4.编译文件编译无误后,进行仿真5.文件仿真在弹出的窗口中选择Design->work->seqdet_tb,默认选中优化选项。
选择OK6.添加信号到wave视图中。
在仿真状态下,切换到左侧导航窗口到object视图下,添加信号T,clk,rst,x,z,q到wave窗口中,添加完成后如图所示:7.运行仿真至1000ns,,波形图显示如图所示:8.结果分析:对上述图形分析如下,用蓝色表示的为第一次检测到匹配序列“10010”,黄色表示为第二次匹配序列,紫色表示为第三次匹配序列。
z分别在这三处匹配时输出高电平,其他为低电平,实现了序列检测的功能。
四,程序:①源程序模块seqdet.v :module seqdet(input wire x, //信号输入input wire clk, //时钟信号input wire rst,output wire z,output reg [4:0] q //序列输出);wire [4:0] q_next;assign q_next ={q[3:0],x};assign z = (q_next== 5'b10010) ? 1'b1:1'b0;always @ (posedge clk,negedge rst)if(!rst)q <= 5'd0;elseq <= q_next;endmodule②测试程序模块seqdet_tb.v`timescale 1ns/1nsmodule seqdet_tb;localparam T =20;reg clk,rst;reg [23:0] data;wire z,x;wire [4:0] q;assign x = data[23];initialbeginclk =0;rst =1;#2 rst =0;#30 rst =1;data =20'b1100_1001_0000_1001_0100;#(T*1000) $stop;endalways #T clk = ~clk;always @ (posedge clk)#2 data = {data[22:0],data[23]};seqdet U1(.x(x),.z(z),.clk(clk),.q(q),.rst(rst));endmodule五、实验总结:通过本次实验,对Verilog硬件描述语言有了进一步认识,学会编写verilog语言的文本设计方法,并学会编写testbench测试程序。
序列检测器
![序列检测器](https://img.taocdn.com/s3/m/246e7ab55acfa1c7aa00ccef.png)
目录第一章设计方案.........................................................11.1设计任务..........................................................11.2设计要求..........................................................11.2.1整体功能要求.................................................11.2.2测试要求.....................................................1 第二章设计思路.........................................................22.1数字频率计介绍....................................................22.2设计原理..........................................................22.2.1频率测量的基本原理...........................................22.2.2整体方框图及原理.............................................22.2.3序列器结构框图...............................................2 第三章模块介绍.........................................................43.1顶层文件模块......................................................43.1.1顶层文件原理.................................................43.1.2顶层文件模块verilog 语言描述程序.............................43.2伪随机序列发生器模块..............................................43.2.1伪随机序列发生器.............................................43.2.2伪随机序列发生器原理.........................................53.2.3伪随机序列发生器模块verilog 语言描述程序.....................63.3序列检测器模块....................................................73.3.1序列检测器原理...............................................73.3.2序列检测器模块verilog 语言描述程序...........................7 第四章序列检测器的实现.................................................84.1序列检测器的verilog 语言程序描述及仿真............................84.1.1序列检测器的verilog 语言程序描述.............................84.1.2序列检测器的波形仿真.........................................94.2设计中遇到的问题与解决方法.......................................104.2.1设计中遇到的问题.............................................104.2.2解决方法.....................................................10 第五章设计小结.........................................................115.1心得体会..........................................................11第一章设计方案1.1设计任务在掌握常用数字电路功能和原理的基础上,根据 EDA 技术课程所学知识,利用硬件描述语言 Verilog HDL、EDA软件Quartus II 和硬件平台 Cyclone/Cyclone II FPGA 进行电路系统的设计。
“101”序列检测器
![“101”序列检测器](https://img.taocdn.com/s3/m/287d391391c69ec3d5bbfd0a79563c1ec5dad786.png)
武汉纺织大学计算机科学学院逻辑设计课程设计报告“101”序列检测器班级:网络081学号:***********名:***同组者:黄川刘凌峰日期:2010-7-61 题目与要求1.1 问题提出本人设计一个状态机,主要用来检测所输入的序列中是否有“101”序列,设置不同的状态,输入不同的信号,从而得出次态和输出。
1.2 设计原理设有s0,s1,s2三个状态,则由要求得出的状态图为: 1. 假设信号不可重叠2. 假设信号可重叠2 设计过程2.1 逻辑描述1) 不可重叠library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;S 0S 1S 21/0 0/01/00/00/01/1S 0S 1S 21/0 0/01/00/00/01/1entity mechain isport(clk:in std_logic;input:in std_logic;output:out std_logic);end mechain;architecture a of mechain istype state_type is(s0,s1,s2);signal state:state_type;beginprocess(clk)beginif(clk'event and clk='1') thencase state iswhen s0=>if input='1' thenstate<=s1;output<='0';elsestate<=s0;output<='0';end if;when s1=>if input='0' thenstate<=s2;output<='0';elsestate<=s1;output<='0';end if;when s2=>if input='1' thenstate<=s0;output<='1';elsestate<=s0;output<='0';end if;end case;end if;end process;end a;2) 可重叠library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity mechain isport(clk:in std_logic;input:in std_logic;output:out std_logic);end mechain;architecture a of mechain istype state_type is(s0,s1,s2);signal state:state_type;beginprocess(clk)beginif(clk'event and clk='1') thencase state iswhen s0=>if input='1' thenstate<=s1;output<='0';elsestate<=s0;output<='0';end if;when s1=>if input='0' thenstate<=s2;output<='0';elsestate<=s1;output<='0';end if;when s2=>if input='1' thenstate<=s1;output<='1';elsestate<=s0;output<='0';end if;end case;end if;end process;end a;2.2 编译(Compilation)选用的芯片为:ACEX1K系列EP1K30TC144-3引脚分配如图:编译中遇到的主要问题、编译结果:没有错误。
序列检测器设计实践报告
![序列检测器设计实践报告](https://img.taocdn.com/s3/m/7ee0a4c1d1d233d4b14e852458fb770bf78a3bec.png)
序列检测器设计实践报告一、引言序列检测器是现代通信系统中的关键组件之一,它能够检测出接收到的数据序列是否符合特定规则或模式。
在本次实践中,我们通过使用Verilog HDL 语言和ModelSim 软件,成功设计了一个基于有限状态机的序列检测器。
本报告将详细介绍设计实践的目标、设计思路、实现过程以及结果与分析。
二、设计目标本次实践的设计目标是设计一个序列检测器,其输入为一串二进制数据序列,输出为判断该数据序列是否符合预定的模式。
具体要求如下:1. 输入数据序列长度为N。
2. 设计的状态机模型能够正确判断数据序列是否匹配给定的模式。
3. 能够根据实际需要,设计一个可重用的序列检测器。
三、设计思路为了实现序列检测器,我们采用了有限状态机(Finite State Machine)的设计方法。
基于有限状态机的序列检测器通常包含以下几个关键部分:1. 状态寄存器(State Register):用于保存当前状态的寄存器。
2. 状态转移逻辑(State Transition Logic):用于根据当前状态和输入决定下一状态。
3. 输出逻辑(Output Logic):用于根据当前状态和输入决定输出。
在本次实践中,我们根据识别特定序列的要求设计了一个有限状态机模型。
具体步骤如下:1. 根据给定的数据序列模式,分析出可能的状态数以及状态转移条件。
2. 基于状态数和状态转移条件,设计状态转移表和状态转移条件的真值表。
3. 使用Verilog HDL语言,将状态寄存器、状态转移逻辑和输出逻辑实现为模块。
4. 将各个模块组合在一起,以实现完整的序列检测器。
四、实现过程1. 建立状态转移表和真值表根据给定的数据序列模式,我们设定了以下状态:- `S0`:初始状态;- `S1`:序列开始状态;- `S2`:序列匹配状态;- `S3`:序列不匹配状态。
根据分析,我们得到以下状态转移表和状态转移条件的真值表:状态/输入0 1S0 S1 S0S1 S2 S0S2 S2 S3S3 S1 S0状态/输入输出-S2 1S3 02. 实现Verilog HDL模块我们根据状态转移表和真值表,用Verilog HDL语言实现了状态寄存器、状态转移逻辑和输出逻辑。
课程设计序列检测器的设计
![课程设计序列检测器的设计](https://img.taocdn.com/s3/m/aa4ec078ae45b307e87101f69e3143323968f5d1.png)
课程设计序列检测器的设计一、课程目标知识目标:1. 让学生理解序列检测器的基本概念、原理和应用;2. 掌握序列检测器的组成部分,包括触发器、计数器等;3. 学会分析序列检测器的逻辑功能,并能正确绘制其逻辑图;4. 了解序列检测器在数字电路中的应用,如通信、计算机等领域。
技能目标:1. 培养学生运用所学知识设计简单序列检测器的能力;2. 提高学生动手实践能力,学会使用相关仪器、设备进行序列检测器的搭建和调试;3. 培养学生团队协作能力,学会与他人共同分析问题、解决问题。
情感态度价值观目标:1. 培养学生对数字电路的兴趣,激发他们探索科学技术的热情;2. 培养学生严谨、认真的学习态度,养成良好地分析和解决问题的习惯;3. 增强学生的创新意识,鼓励他们勇于尝试新方法,培养创新精神。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够准确描述序列检测器的原理和组成部分;2. 学生能够独立绘制并解释序列检测器的逻辑图;3. 学生能够设计并搭建一个简单的序列检测器电路;4. 学生能够运用所学知识分析并解决实际数字电路问题;5. 学生在团队协作中,能够积极参与、沟通、分享,共同完成任务。
二、教学内容本章节教学内容依据课程目标,结合教材第二章“数字电路基础”相关内容,组织以下教学大纲:1. 序列检测器原理及分类- 序列检测器的基本概念- 序列检测器的工作原理- 序列检测器的分类及应用2. 序列检测器的组成部分- 触发器的类型与功能- 计数器的作用与分类- 逻辑门电路的基本原理3. 序列检测器逻辑设计与分析- 逻辑图的绘制方法- 序列检测器逻辑设计步骤- 常见序列检测器逻辑分析实例4. 序列检测器应用案例- 通信系统中序列检测器的应用- 计算机领域中的序列检测器- 其他数字电路中的实际应用案例5. 实践操作:序列检测器设计与搭建- 设计一个简单的序列检测器电路- 使用仪器、设备进行电路搭建和调试- 分析实验结果,优化设计方案教学内容安排和进度如下:第1周:序列检测器原理及分类第2周:序列检测器的组成部分第3周:序列检测器逻辑设计与分析第4周:序列检测器应用案例及实践操作三、教学方法针对本章节内容,采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:教师以教材为依据,系统讲解序列检测器的基本概念、原理、分类及应用。
1010序列检测器
![1010序列检测器](https://img.taocdn.com/s3/m/1f544d647e21af45b307a825.png)
沈阳航空航天大学北方科技学院课程设计说明书课设名称数字电子技术学生姓名刘红博专业计算机科学与技术班级 B241101 学号 B24110117 指导教师富刚成绩2014年3月沈阳航空航天大学北方科技学院课程设计任务书课程设计题目 1010序列检测器教学部系信息工程系专业计算机科学与技术班级B241101 学号17 姓名刘红博课程设计时间: 2014 年2月24 日至2014 年 3 月日课程设计的内容及要求:(一)主要内容:1、设计一个1010序列检测器的电路。
2、连接电路,实现电路要求的功能。
3、完成课设论文。
(二)基本要求:1、根据数字电路相关知识设计1010序列检测器电路。
2、完成电路所要求的功能,与分析各元件的作用。
3、撰写相关论文。
指导教师富刚2014 年 3 月日1010序列检测器刘红博目录一课题分析 (1)二理论设计 (1)1 状态表 (1)2 状态化简 (2)3 状态编码 (2)4 确定激励函数和输出函数 (3)三电路原理图 (4)四元器件的选择 (5)五实际连线图 (6)六组装调试 (6)七结论 (7)八结束语 (7)九参考文献 (7)题目:1010序列检测器一课题分析试设计一个1010序列检测器,已知典型输入输出序列为输入:001010011101010110 输出:00000100000001000本课题用到了同步时序逻辑电路的设计。
序列检测器可以检测串行输入信号中的特定输入序列。
当串行输入信号中的特定输入序列出现时,则输出为1,否则输出为0.因此,在本课题中,在手动输入脉冲的前提下,当输入1010时,输出为1,小灯亮,否则输出为0,小灯灭。
在本课题所设计的电路中应具有一个输入X和一个输出Z,而且X 是串行输入。
由此可列真值表,写出逻辑表达式、化简,并画出逻辑图,最后连接实物图,完成实验操作。
二理论设计1 状态表2 状态化简找出最大等效类:(S0)、(S1、S4)、(S2)、(S3)以a代表(S0),b代表(S2),c代表(S3),d代表(S1、S4)则最小状态表为:3 状态编码根据状态分配必须遵循的基本原则:(1) a、b相邻,c、d相邻;(2)a、d相邻,a、c相邻,b、d相邻;(3)a、b相邻,a、d相邻,b、d相邻;(4)a应分配为逻辑0.所以,编码方案为:表3编码方案表4 二进制状态表4 确定激励函数和输出函数表5 D2激励表表6 D1激励表表7 Z激励表所以:D2= xy2+ xy1 D1= xy2+ xy1+y1 y2 Z= xy1y2 三电路原理图输入端图1 1010序列检测器原理图四元器件的选择1数字逻辑实验箱DSB-3 1台2元器件:74LS04一块、74LS20一块、74LS194一块图1 74LS04芯片引脚图图2 74LS20芯片引脚图图3 74LS194芯片引脚图3导线若干五实际连线图六组装调试首先,为确保实验的顺利进行。
课程设计——001序列检测器
![课程设计——001序列检测器](https://img.taocdn.com/s3/m/a17de7778e9951e79b892715.png)
学 号:课 程 设 计题 目 数字逻辑 设计题目 001序列检测器 学 院 计算机科学与技术 专 业 计算机科学与技术班 级 姓 名 指导教师2011 年 03 月 06 日目录1、课程设计任务书··························P32、正文····································P42.1、使用的芯片及其引脚图···············P42.2、逻辑实验电路的具体分析与设计·······P42.3、具体实验操作及调试·················P102.4、小结及体会·························P122.5、参考文献···························P123、评分表··································P13课程设计任务书学生姓名学生专业班级指导教师学院名称计算机科学与技术学院一、题目:“001”序列检测器。
EDA课程设计-脉冲序列检测器的设计
![EDA课程设计-脉冲序列检测器的设计](https://img.taocdn.com/s3/m/e4ebb3335022aaea988f0f4f.png)
摘要:脉冲序列检测器广泛应用于现代数字通信系统中,随着通信技术的发展,对多路脉冲序列信号检测要求越来越高。
随着器件复杂程度的提高,电路逻辑图变得过于复杂,不便于设计。
VHDL(VHSIC Hardware Description Language)是随着可编程逻辑器件的发展而发展起来的一种硬件描述语言。
VHDL具有极强的描述能力,能支持系统行为级、寄存器输级和门级三个不同层次的设计。
本文针对传统的脉冲序列检测器方案,提出了一种基于FPGA的脉冲序列检测器设计的新方案,该方案基于当今通讯信息产业的发展,不断追求较低数据传输误码率,其中较为成熟的编码方法如汉明码、奇偶校验码、循环冗余码等编码技术,被广泛应用于计算机、电子通信、控制等各个领域。
其中汉明码是一种能够纠正一位错码检测两位错码且编码效率较高的线性分组码。
实验模块是采用VHDL语言编写,结合EDA技术基于FPGA在数字逻辑领域的优势和软件设计来实现,本实验包含五个模块,分别为编码模块、译码模块、寄存器模块、序列检测器以及顶层模块,该序列检测器最大的特点是能够在检测传输数据的同时检测到所有一位或两位错码并纠正一位错码数据。
关键词: FPGA 硬件描述语言VHDL 序列检测器汉明码目录1 FPGA简介什么是FPGA (5)1.2 FPGA由什么构成 (6)1.3 FPGA设计步骤 (6)1.4 硬件描述语言VHDL (11)2 序列检测器的设计特点及原理2.1 实验设计的特点 (13)2.2 汉明码编码和译码原理 (14)3 系统分析及总体设计3.1 系统工作过程分析 (15)3.2 系统工作框图 (15)3.3 功能模块的功能介绍 (16)4 功能分模块设计4.1 编码模块 (16)4.2 译码模块 (17)4.3 特殊寄存器模块 (19)4.4 序列检测器模块 (20)4.5 顶层模块 (21)5 硬件的制作与调试 (22)6 实验总结 (22)7 致谢 (22)8 参考文献 (23)引言:本创新题目基于当今通讯信息产业的发展,不断追求较低数据传输误码率,编码纠错技术日益成熟的背景下,随着差错控制编码技术的蓬勃发展,作为信道传输过程抗干扰的有效手段,其中较为成熟的编码方法如汉明码、奇偶校验码、循环冗余码等编码技术,被广泛应用于计算机、电子通信、控制等各个领域。
10位序列检测器设计
![10位序列检测器设计](https://img.taocdn.com/s3/m/f54f95421611cc7931b765ce05087632311274c5.png)
10位序列检测器设计预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制FPGA嵌入式系统设计专题实践结课论文题目:10位序列检测器设计专业:班级:姓名:学号:目录一、设计题目:10位序列检测器设计 (2)二、设计目标: (2)三、设计原理:(含系统总的原理图) (2)1 分频器电路设计原理 (2)2 按键消抖电路设计原理 (2)3 序列产生电路设计原理 (2)4序列检测电路设计原理 (3)5 数码管扫描电路设计原理 (3)6 系统总原理图 (3)四、设计内容: (3)1 分频器模块 (4)2 按键消抖模块 (6)3 序列产生模块 (7)4 序列检测模块 (8)5 数码管扫描模块 (9)五、实验现象 (11)六、实验感想 (11)一、设计题目:10位序列检测器设计二、设计目标:1、熟练掌握Quartus II 的使用方法及VHDL的编程方法。
2、掌握有限状态机的工作原理3、熟悉串行信号的输入和扫描。
4、理解在多状态情况下的状态选择和控制。
三、设计原理:(含系统总的原理图)1 分频器电路设计原理对时钟进行偶数分频的话,使占空比为50%。
只要使用一个计数器,在计数器的前一半时间使输出为高电平,在计数器的后一半时间使输出为低电平,即可得到偶分频时钟。
对时钟进行奇数分频的话,使占空比为50%。
先对输入时钟的上升沿进行计数,让一个内部信号在前一半时间(分频系数除2取整)为高电平,后一半时间为低电平;再对输入时钟的下降沿进行计数,让另一个内部信号在前一半时间为高电平,后一半时间为低电平;然后将这内部两个信号相或后即得到奇数分频时钟。
2 按键消抖电路设计原理对一个按键信号,对它进行取样,如果连续两次取样都为低电平,则认为信号已经处于稳定状态,这时输出一个低电平的按键信号。
否则只要有一次取样不为低电平,则认为是抖动,将其丢弃。
由于按键抖动的时间一般为5到10ms,因此输入时钟clk使用对48M系统时钟分频得到200Hz时钟脉冲(周期为5ms),即5ms采样一次按键信号,当连续两次采样到的按键信号都为低电平时,认为按键稳定的按下。
EDA序列检测器设计课程设计
![EDA序列检测器设计课程设计](https://img.taocdn.com/s3/m/b8e58874e3bd960590c69ec3d5bbfd0a7956d532.png)
EDA序列检测器设计课程设计一、课程目标知识目标:1. 让学生理解EDA序列检测器的基本原理和设计流程;2. 掌握数字电路设计的基本方法,并能运用所学知识分析EDA序列检测器的功能;3. 了解EDA工具的使用,如原理图绘制、仿真测试等。
技能目标:1. 培养学生运用所学知识进行EDA序列检测器设计的能力;2. 提高学生实际操作EDA工具,解决实际问题的能力;3. 培养学生的团队协作能力和沟通表达能力。
情感态度价值观目标:1. 培养学生对电子设计自动化(EDA)技术的兴趣和热情;2. 增强学生的创新意识,培养敢于挑战、勇于实践的精神;3. 培养学生严谨、务实的科学态度,养成良好的学习习惯。
课程性质:本课程为电子技术实践课程,旨在培养学生的实际操作能力和创新能力。
学生特点:学生已经掌握了数字电路基础知识,具有一定的电路分析和设计能力。
教学要求:结合课本内容,注重理论与实践相结合,强调实际操作和团队协作。
在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。
通过本课程的学习,使学生能够独立完成EDA序列检测器的设计与仿真。
二、教学内容1. 数字电路基础知识回顾:逻辑门、触发器、计数器等基本概念和功能;2. EDA工具介绍:原理图绘制、电路仿真、PCB设计等;3. 序列检测器原理:Moore状态机、Mealy状态机设计方法;4. 序列检测器设计流程:需求分析、状态划分、状态转移图绘制、输出逻辑设计;5. 序列检测器仿真与测试:使用EDA工具进行原理图绘制、仿真测试及优化;6. 实际操作:分组进行EDA序列检测器设计,交流与展示;7. 课程总结与评价:对所学内容进行总结,评估学生的学习成果。
教学内容安排与进度:1. 第一周:数字电路基础知识回顾,EDA工具介绍;2. 第二周:序列检测器原理,设计流程讲解;3. 第三周:分组进行序列检测器设计,指导与答疑;4. 第四周:完成序列检测器仿真与测试,进行展示与评价。
HDL课程设计序列检测器的设计
![HDL课程设计序列检测器的设计](https://img.taocdn.com/s3/m/75d430ae69dc5022aaea0049.png)
课程设计项目成绩评定表设计项目成绩评定表课程设计报告书目录设计报告书目录一、设计目的 (1)二、设计思路 (1)三、设计过程 (1)3.1、设计原理 (1)3.2、设计模块 (2)3.3、测试模块 (3)四、仿真结果 (4)五、主要元器件与设备 (4)六、课程设计体会与建议 (4)6.1、设计体会 (4)6.2、设计建议 (5)七、参考文献 (5)一、设计目的1、熟练掌握Verilog 语言。
2、熟悉HDL数字系统的设计流程。
二、设计思路1、设计功能设计模块。
2、设计测试代码。
三、设计过程3.1、设计原理序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,知道在连续的检测中所收到的每一位码都与预置数的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
序列检测器在数据通讯,雷达和遥测等领域中用与检测步识别标志。
它是一种用来检测一组或多组序列信号的电路。
例如检测器收到一组串行码{10010}后,输出标志1,否则,输出0。
考查这个例子,每收到一个符合要求的串行码就需要用一个状态进行记忆。
串行码长度为5位,需要5个状态;另外,还需要增加一个“未收到一个有效位”的状态,共6个状态;S0~S5,状态标记符的下标表示有几个有效位被读出。
画出状态转换图,如图1所示,很显然这是一个莫尔状态机。
6个状态机根据编码原则可以用3位二进制数来表示。
图1状态转换图3.2、设计模块module series(clk,x,z,rst); //series detectinput clk,rst;input x;output z;reg[2:0] state;parameter idle=3'd0,A=3'd1,B=3'd2,C=3'd3,D=3'd4,E=3'd5;assign z=(state==E)?1:0;always@(posedge clk)beginif(!rst)state<=idle;elsecase(state)idle:if(x==1)state<=A;elsestate<=idle;A: if(x==0)state<=B;elsestate<=A;B: if(x==0)state<=C;elsestate<=A;C: if(x==1)state<=D;elsestate<=idle;D: if(x==0)state<=E;elsestate<=A;E: if(x==1)state<=A;elsestate<=C;default: state<=idle;endcaseendendmodule3.3、测试模块module detecttest;reg clk,rst;reg x;reg[20:0] data;wire z;initialbeginclk=0;rst=0;#30 rst=1;data=20'b1100_1001_0000_1001_0100;endalways #10 clk=~clk;always@(posedge clk)data={data[19:0],data[20]};always@(posedge clk)x=data[20];series lut(.clk(clk),.rst(rst),.x(x),.z(z));endmodule四、仿真结果图2序列检测器仿真图当时钟上升沿来临时开始检测,信号从x输入,有信号输入时的下一时钟上升沿开始检测,从图2中可知在第五个上升沿来临时正好检测到一连续串行序列10010立即出现高电平,所以可知设计的程序完全符合要求。
数字电路课程设计-1011序列发生器和检测器实现
![数字电路课程设计-1011序列发生器和检测器实现](https://img.taocdn.com/s3/m/1306a0d4336c1eb91b375d0e.png)
数字电路课程设计姓名学号选题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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子课程设计------序列检测器学院:专业班级:姓名:学号:指导老师:2012年12月目录一、设计任务与要求 (1)二、总体框图 (1)三、选择器件 (1)四、功能模块 (1)1、脉冲发生器 (1)2、序列检测器 (2)3、分频器 (3)五、总体设计电路图 (5)1、总体电路原理图 (5)2、Q UARATU SII的仿真结果图与分析 (5)3、管脚分配 (6)4、E DA实验箱验证 (6)序列检测器一、任务与要求设计一个序列检测器,在上升沿的作用下,输入一组二进制码,与预先设置的吗“11100101”一致时,输出A,不同时则输出B,(在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
)二、总体框图脉冲发生器:为检测器提供脉冲。
检测器:具有存储功能。
数码显示器:显示输出A或B方案:设计手动的脉冲发生器为检测器提供脉冲,使其正常工作,然后设计检测器存储的数字为“11100101”再用译码器使其显示在数码管上,这就要求检测器必须记住前一次的正确吗及正确序列,直到在连续的检测中所收到的每一位吗与预置数的对应码相同,否则重新开始检测。
三、选择器件芯片:EDA实验箱中EP1C12核心板;七段数码管等。
外围电路:将IO_CLK用导线连接到IO3上,将IO9,IO10用导线连接到两个LED灯上,接上电源下载完成即可验证。
四、功能模块1.脉冲发生器VHDL程序:LIBRARY ieee;use ieee.std_logic_1164.all;entity pulse isport(pul,M: in std_logic;nq,q: out std_logic--VGA:out std_logic_vector(3 downto 0));end pulse;architecture a of pulse issignal temp: std_logic;begin--VGA <= "0001";'q<=temp;nq<=not temp;process(m)beginif rising_edge(m) thenif pul='0' thentemp<='1';elsetemp<='0';end if;end if;end process;end a;生成模块:图1仿真结果及分析图2分析:作用是为序列检测器提供合适的脉冲,手按按钮PB(3),Q输出一个脉冲给下个模块的CLK。
当pul为1时q输出0;当pul为0时q输出为1.2、序列检测器VHDL语言library ieee;use ieee.std_logic_1164.all;entity CHK isport(din, clk, clr :in std_logic;ab : out std_logic_vector(3 downto 0));end CHK;architecture behav of CHK issignal q : integer range 0 to 8;signal d : std_logic_vector(7 downto 0);begind <= "11100101" ;process( clk, clr )beginif clr = '1' then q<= 0 ;elsif clk'event and clk='1' thencase q iswhen 0=> if din = d(7)then q<=1;else q<= 0; end if ;when 1=> if din = d(6)then q<=2;else q<= 0; end if ;when 2=> if din = d(5)then q<=3;else q<= 0; end if ;when 3=> if din = d(4)then q<=4;else q<= 0; end if ;when 4=> if din = d(3)then q<=5;else q<= 0; end if ;when 5=> if din = d(2)then q<=6;else q<= 0; end if ;when 6=> if din = d(1)then q<=7;else q<= 0; end if ;when 7=> if din = d(0)then q<=8;else q<= 0; end if ;when others => q <= 0;end case ;end if ;end process ;process ( q )beginif q = 8 then ab <= "1010" ;else ab <= "1011" ;end if ;end process ;end behav ;生成模块图3仿真结果及分析图4分析:此模块是一个对序列“11100101”的检测,当输入端DIN在八个脉冲的作用下分别输入11100101时Q端输出B,否则输出A。
3分频器VHDL语言LIBRARY ieee;use ieee.std_logic_1164.all;entity deled isport(ab: in std_logic_vector(3 downto 0);--sel: in std_logic;led: out std_logic_vector(6 downto 0) );end deled;architecture a of deled is--signal temp: std_logic;beginled <= "1111110" when ab= "0000" else"0110000" when ab= "0001" else"1101101" when ab= "0010" else"1111001" when ab= "0011" else"0110011" when ab= "0100" else"1011011" when ab= "0101" else"1011111" when ab= "0110" else"1110000" when ab= "0111" else"1111111" when ab= "1000" else"1111011" when ab= "1001" else"1110111" when ab= "1010" else"0011111" when ab= "1011" else"1001110" when ab= "1100" else"0111101" when ab= "1101" else"1001111" when ab= "1110" else"1000111" when ab= "1111" ;END a;生成模块图5仿真结果及分析图6图7分析:此模块的作用是将输出显示到数码管上。
当ab输入为1010时led输出为1110111(如图6);当ab输入为1011时led输出为0011111(如图7)。
五、总体设计电路图1、总体电路原理图该程序是在连续脉冲的作用下检测序列“11100101”当输入完全符合时数码管显示B,当其中有一个出错时或序列不对时数码管显示A。
图82、QUARATU SII的仿真结果图与分析清零端是高电平有效,首先设清零端为高电平使之清零,然后在八个有效脉冲的作用下DIN输入“11100101”且顺序一致,此时数码管显示为“1110111”其它情况为“111100”。
仿真结果如下图:图93、管脚分配如下图图104、EDA实验箱验证(如图)将IO_CLK用导线连接到IO3上,将IO9,IO10用导线连接到两个LED灯上,打开电源并下载之后,手动按钮输入脉冲的作用下在EPIC12板上4位拨码键的SW【0】。
分别拨到“11100101”,其中“1”为高电位,“0”为低电位。
重复上述几次,多输几个输入,观察数码管的输出情况,经观察只有输入为“11100101”时数码管显示“A”(如图11)它情况显示“B”(如图12)。
图11图12。