如何在Verilog中编写用于按位操作的代码以十进制格式输入...我只是Verilog的入门者

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

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

===============>>#1 票数: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中没有可区分数字系统的运算符,最终所有内容都是二进制。

  ask by mjaju translate from so

未解决问题?本站智能推荐: