如何在verilog中为十进制格式的输入编写用于按位运算的代码...我只是Verilog的启动器
01:begin
A.Receive(a);
B.Receive(b);
z=a&b;
Z.Send(z);
end
上面的代码在SystemVerilog中,但它仍然是相同的。 a
和b
是十进制输入。这是正确的写作方式吗?
答案 0 :(得分:0)
按位运算符以逐位方式工作,因此根据定义它是二进制的。但是,您始终可以使用十进制(十六进制,八进制)数字格式在verilog中输入值。例如:
wire [ 4: 0] a = 5'd11;
wire [ 4: 0] b = 5'b11010;
wire [ 4: 0] c = a & b;
// will result in c being 10 decimal, or 01010 binary as:
// (01011(base:2) & 11010(base:2) = 01010(base:2) = 10(base:10)
事实上,Verilog中没有操作符可以区分数字系统,最后一切都是二进制的。