赞
踩
之前老是想着学的快点,就直接编译了程序就下载在开发板上跑,后来发现这样不行,因为如果程序有问题,验证和纠错的时间成本太高了(毕竟vivado跑一次花的时间很长),反过来学习仿真,下面是一点心得和体会。
编译软件及版本:vivado 2019.2
编译语言:verilog
网上随便找了一个简单程序和仿真,先实现复现,再谈其他。下面我将先给出代码和仿真截图,再说具体的东西。
`timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2020/10/16 19:42:58 // Design Name: // Module Name: shift_register // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // // module shift_register( input clock, input reset, input load, input [1:0] sel, input [4:0] data, output [4:0] shiftreg ); reg [4:0] shiftreg; always @(posedge clock) begin if(reset) shiftreg = 0; else if(load) shiftreg = data; else case(sel) 2'b00 : shiftreg = shiftreg; 2'b01 : shiftreg = shiftreg << 1; 2'b10 : shiftreg = shiftreg >> 1; default : shiftreg = shiftreg; endcase end endmodule
`timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2020/10/17 11:00:37 // Design Name: // Module Name: shift_register_tb // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // // module shift_register_tb( ); //declare testbench name reg clock; reg load; reg reset; // declaration of signals wire [4:0] shiftreg; reg [4:0] data; reg [1:0] sel
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。