Vivado入门(一)

照着教程写了第一个工程
都是用的verilog

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 2018/04/27 23:17:56 // Design Name: // Module Name: test // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module test( input [7:0] switch, output [7:0] led ); assign led=switch; endmodule

以上是.v代码文件
以下是testbench:


`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 2018/04/27 23:21:10 // Design Name: // Module Name: test_tb // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module test_tb(); reg [7:0] switch; wire [7:0] led; test uut( .switch(switch), .led (led) ); initial begin switch =8'h0; #100; end always #10 begin switch={$random}%256; end endmodule

原来timescale是1ns/1ps=1000啊,那么#100不应该是100000ps吗,为什么initial只持续了10000ps啊~always倒是没错......
8‘h0是8个0,就是00000000啦~
至于random就很好读了~取2^8的余数,控制在8位~

本来想再研究下的,但是太晚啦,还病着,得睡觉啊~

我一定会好好学嵌入式的!

你可能感兴趣的:(Vivado入门(一))