微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 用vivado写verilog的几个问题

用vivado写verilog的几个问题

时间:10-02 整理:3721RD 点击:
1. 在verilog代码里面input直连output,怎么写代码?我要用运算符,比如用两个非门像assign datainA1B1[7:0]=datain[7:0];就不行?怎么用运算符写两个非门相连?或者有没有缓冲门的运算符?
2. testbench怎么同时测试多个模块?
比如

  1. module simu(
  2. );
  3.    reg [3:0] b5;
  4.    wire [3:0] b5out;  
  5.     alpha5 CompToTest(b5,b5out);
  6. initial begin
  7.                    b5[3:0]=4'b0000;
  8.        #10         b5[3:0]=4'b0001;
  9.        #10         b5[3:0]=4'b0010;
  10.        #10         b5[3:0]=4'b0011;
  11.        #10         b5[3:0]=4'b0100;
  12.        #10         b5[3:0]=4'b0101;
  13.        #10         b5[3:0]=4'b0110;
  14.        #10         b5[3:0]=4'b0111;
  15.        #10         b5[3:0]=4'b1000;
  16.        #10         b5[3:0]=4'b1001;
  17.        #10         b5[3:0]=4'b1010;
  18.        #10         b5[3:0]=4'b1011;
  19.        #10         b5[3:0]=4'b1100;
  20.        #10         b5[3:0]=4'b1101;
  21.        #10         b5[3:0]=4'b1110;
  22.        #10         b5[3:0]=4'b1111;
  23.                 end           
  24.           endmodule

复制代码



如果再加其他模块

  1. module simu(
  2. );
  3.    reg [3:0] b5;
  4.    wire [3:0] b5out;  
  5.     alpha5 CompToTest(b5,b5out);   alpha10 CompToTest(b10,b10out);
  6. initial begin
  7.                        b5[3:0]=4'b0000; b10[3:0]=4'b0000;
  8.        #10         b5[3:0]=4'b0001; b10[3:0]=4'b0001;
  9.        #10         b5[3:0]=4'b0010; b10[3:0]=4'b0010;
  10.        #10         b5[3:0]=4'b0011; b10[3:0]=4'b0011;
  11.        #10         b5[3:0]=4'b0100; b10[3:0]=4'b0100;
  12.        #10         b5[3:0]=4'b0101; b10[3:0]=4'b0101;
  13.        #10         b5[3:0]=4'b0110; b10[3:0]=4'b0110;
  14.        #10         b5[3:0]=4'b0111; b10[3:0]=4'b0111;
  15.        #10         b5[3:0]=4'b1000; b10[3:0]=4'b1000;
  16.        #10         b5[3:0]=4'b1001; b10[3:0]=4'b1001;
  17.        #10         b5[3:0]=4'b1010; b10[3:0]=4'b1010;
  18.        #10         b5[3:0]=4'b1011; b10[3:0]=4'b1011;
  19.        #10         b5[3:0]=4'b1100; b10[3:0]=4'b1100;
  20.        #10         b5[3:0]=4'b1101; b10[3:0]=4'b1101;
  21.        #10         b5[3:0]=4'b1110; b10[3:0]=4'b1110;
  22.        #10         b5[3:0]=4'b1111; b10[3:0]=4'b1111;
  23.                 end           
  24.           endmodule

复制代码


这样就是语法错误,请问怎么修改才好?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top