用于十进制输入的verilog中的按位运算

时间:2014-04-19 23:55:03

标签: verilog bitwise-operators

如何在verilog中为十进制格式的输入编写用于按位运算的代码...我只是Verilog的启动器

01:begin
    A.Receive(a);
    B.Receive(b);
    z=a&b;
    Z.Send(z);
end

上面的代码在SystemVerilog中,但它仍然是相同的。 ab是十进制输入。这是正确的写作方式吗?

1 个答案:

答案 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中没有操作符可以区分数字系统,最后一切都是二进制的。