小编Sam*_*s77的帖子

Perl从二进制数中删除数字

我想从数字中删除几个数字24-bit binary并将其转换为18-bit binary数字.

例如:

如果是二进制数

bin24=111100111011111000100111
Run Code Online (Sandbox Code Playgroud)

我想删除位23:22,15:14并且7:6输出应该是

bin18=110011111110100111
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用substr()和连接.只是想知道我是否可以在一行中做到这一点?

perl

1
推荐指数
1
解决办法
63
查看次数

$past 在系统 Verilog 断言中的用法

我想检查变量的当前值是否为“1”,则变量的先前值应该为“0”。我在系统 Verilog 断言中使用 $past。这里我检查cal_frame_mode是否=1,那么它是cal_frame_mode=0的先前值。我的代码如下。但是,我看到断言失败。当我检查波形时,它的行为正确。第一次检查后 2 个时钟后断言标记。如何在仅检查一个时钟周期后停止此断言?

property p_NOP_2_RX_CAL;
  @(posedge clk)
  (cal_frame_mode==3'b001) |-> ##2 $past(cal_frame_mode)==3'b000;  
endproperty

assert_nop2cal : assert property(p_NOP_2_RX_CAL);
Run Code Online (Sandbox Code Playgroud)

system-verilog system-verilog-assertions

0
推荐指数
1
解决办法
2万
查看次数