关于进制,大家都不陌生,生活中最常见的是十进制,十进制表示的数用0-9这十个数字,大家都非常熟悉,但是在Verilog中,最常用的则是二进制和十六进制,下面进行详细举例:

2进制,常用b来表示 (binary_digit)   2进制只有0和1这两个数字

8进制 ,常用o来表示(octal_dight)   8进制用0-7这8个数字来进行表示

10进制,常用d来表示(decimal_dight) 10进制用0-9 这10个数字来进行表示

16进制,常用h来表示(hex_digit) 16进制 0,1,2,3,4,5,6,7,8,9,10,a,b,c,d,e,f (a,b,c........等大写也可以)

注意,如果在Verilog中没有说明则默认十进制

比如在verikog中,有个数字是10,这个则表示10进制的10;

如果是'b10,这个就表示2进制的'b10,换算成10进制就是2;

如果是'o10,这个则表示8进制的'o10,换算成10进制就是8;

如果是’h10,这个则表示16进制的'h10,换算成10进制就是16;

前面还可以加位宽:比如3'b1就是,3’b001,表示位宽是3,前面不够补0,这个换算成10进制就是1,3‘b1 =3'b001;

8'da,这个则是非法的,二进制没有a,只有0和1.

思考:如果给a = 8'b1,这个数据的所有位宽全部赋值为1,除了使用a = 8‘b1111_1111,还有其它方法么?

评论区见。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐