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

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

软件:VIVADO

语言:Verilog

代码功能:

时钟同步状态机设计

设计一个序列发生器产生学号后两位数值对应的8421BCD

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

要求仿真实现:

将设计的序列发生器输出作为序列检测器输入。当检测到对

图。应学号的数值时,输出为“1”,否这输出为“0”。

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


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


演示视频:

设计文档:

设计文档.doc

部分代码展示:

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];

    

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 序列发生器及序列检测器设计Verilog代码VIVADO仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员