• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

序列发生器及序列检测器设计Verilog代码VIVADO仿真

08/05 09:05
305
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24061QI923602.doc

共1个文件

名称:序列发生器及序列检测器设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:

时钟同步状态机设计

设计一个序列发生器产生学号后两位数值对应的8421BCD码,再设计一个对应学号后两位数值8421BCD码的序列检测器。

要求仿真实现:

将设计的序列发生器输出作为序列检测器输入。当检测到对应学号的数值时,输出为“1”,否则输出为“0”。

序列检测器输入始终为“1”,测出此时检测器的输出。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

部分代码展示:

1. 工程文件

2. 序列发生器

3. 序列检测器

4. Testbench

将序列发生器输出作为序列检测器的输入

仿真图

可以看到序列发生器输出了00100010,序列检测器检测到后,输出了高电平

5. Testbench2

序列检测器输入始终为1

仿真图

输入一直为1,检测不到00100010,check_out没有输出高电平

`timescale?1ns?/?1ps
//////////////////////////////////////////////////////////////////////////////////
//?Company:?
//?Engineer:?
//?
//?Create?Date:?2019/12/21?15:29:36
//?Design?Name:?
//?Module?Name:?sequence_generate
//?Project?Name:?
//?Target?Devices:?
//?Tool?Versions:?
//?Description:?
//?
//?Dependencies:?
//?
//?Revision:
//?Revision?0.01?-?File?Created
//?Additional?Comments:
//?
//////////////////////////////////////////////////////////////////////////////////
//学号序列产生模块--2018021407022
//22=00100010
module?sequence_generate(
????input?clk,
????output?reg?sequence_out
????);
parameter?Student_ID=8'b00100010;//定义学号BCD码值
reg?[2:0]?count=3'd0;
always@(posedge?clk)
????count<=count+3'd1;//count循环累加0~7循环
//输出序列
always@(posedge?clk)
????case(count)//由高位到低位输出
????????3'd0:sequence_out<=Student_ID[7];
????????3'd1:sequence_out<=Student_ID[6];
????????3'd2:sequence_out<=Student_ID[5];
????????3'd3:sequence_out<=Student_ID[4];
????????3'd4:sequence_out<=Student_ID[3];
????????3'd5:sequence_out<=Student_ID[2];
????????3'd6:sequence_out<=Student_ID[1];

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=880

  • 2-24061QI923602.doc
    下载

相关推荐