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

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

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

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
    下载

相关推荐