(在这里插入真正基本的问题免责声明)
更具体地说,我有以下声明:
output reg icache_ram_rw
Run Code Online (Sandbox Code Playgroud)
在代码的某些方面,我需要将零值放在此reg中.这是我尝试过的和结果:
assign icache_ram_rw = 1'b0;
( declarative lvalue or port sink reg icache_ram_rw must be a wire )
icache_ram_rw <= 1'b0;
( instance gate/name for type "icache_ram_rw" expected - <= read )
Run Code Online (Sandbox Code Playgroud)
我怎么办呢?!
我在的输入和输出的系统Verilog代码decleration为例遇到module没有说明他们的类型,例如logic,wire...
module mat_to_stream (
input [2:0] [2:0] [2:0] a,b,
input newdata,
input rst, clk,
output [2:0] [7:0] A_out, B_out);
...rest of code...
Run Code Online (Sandbox Code Playgroud)
陈述logic和不陈述任何类型之间的差异是什么?
我正在尝试为2的恭维加法器编写"逆变器"功能.我的导师希望我使用if/else语句来实现它.该模块应该采用8位数字并翻转位(零到1/1到零).我写了这个模块:
module inverter(b, bnot);
input [7:0] b;
output [7:0]bnot;
if (b[0] == 0) begin
assign bnot[0] = 1;
end else begin
assign bnot[0] = 0;
end
//repeat for bits 1-7
Run Code Online (Sandbox Code Playgroud)
当我尝试使用此命令编译和编译时,我收到以下错误:
vcs +v2k inverter.v
Error-[V2005S] Verilog 2005 IEEE 1364-2005 syntax used.
inverter.v, 16
Please compile with -sverilog or -v2005 to support this construct: generate
blocks without generate/endgenerate keywords.
Run Code Online (Sandbox Code Playgroud)
所以我添加了-v2005参数,然后我收到此错误:
vcs +v2k -v2005 inverter.v
Elaboration time unknown or bad value encountered for generate if-statement
condition expression.
Please make sure it is …Run Code Online (Sandbox Code Playgroud)