SpinalHDL之数据类型(二)

本文作为SpinalHDL学习笔记第五十五篇,介绍SpinalHDL的Bits数据类型。

目录:

1.描述(Description)

2.声明(Declaration)

3.操作符(Operators)

1.描述(Description)

Bits类型对应于没有算数意义的bits向量。

2.声明(Declaration)

声明bit向量的语法如下所⽰:([]中为可填项)

//Declaration
val myBits = Bits()
val myBits1 = Bits(32 bits)
val myBits2 = B(25, 8 bits)
val myBits3 = B"8'xFF" //基可以是x/h(16), d(10), o(8), b(2)
val myBits4 = B"1001_0011" //_增加可读性
//Element
val myBits5 = B(8 bits, default -> True) //"11111111"
val myBits6 = B(8 bits, (7 downto 5) -> B"101", 4 -> true, 3 -> True, default -> false)
//"10111000"
val myBits7 = Bits(8 bits)
myBits7 := (7 -> true, default -> false) //"10000000",在赋值的时候可以省去B

Verilog:

wire [7:0] myBits;
wire [31:0] myBits1;
wire [7:0] myBits2;
wire [7:0] myBits3;
wire [7:0] myBits4;
wire [7:0] myBits5;
reg [7:0] myBits6;
reg [7:0] myBits7;
assign myBits = 8'h19;
assign myBits2 = 8'h19;
assign myBits3 = 8'hff;
assign myBits4 = 8'h93;
assign myBits5 = 8'hff;
function [7:0] zz_myBits6(input dummy);
begin
zz_myBits6 = 8'h0;
zz_myBits6[7 : 5] = 3'b101;
zz_myBits6[4] = 1'b1;
zz_myBits6[3] &#
  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千穹凌帝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值