标签:10 begin task end UART 细节 taa 86 display
UART的RTL连接
左端的uart16550为需要验的模块
验证收集内容
https://gitee.com/bai-mengwei/my_uart_tb
LCR:控制读写格式的
MCR:调制解调控制寄存器
MSR:调制解调状态寄存器
断言:验证apb协议
onehot0
onehot0表示没有高(全为0),则仍然可以断言成功
可以用在检查片选信号上(片选信号每次最多选一个,可以不选)
binsof(x) intersect(y)
bins的选择条件
x的内容中,包括y的部分
如下示例
$stable
是上升沿||下降沿的一种取反。
在判定的时候,不稳定是指代前一个状态发生
module taa ();
logic a;
logic [2:0] b;
logic c;
initial begin
a = 0;
forever begin
#10 a = ~a;
end
end
initial begin
b = 3'b0;
forever begin
#20 b = b + 1;
end
end
initial begin
c = 0;
forever begin
#5 c = ~c;
end
end
property STABLE_TEST;
@(posedge a)
(!$stable(b) && $onehot(b)) |=> c;
endproperty
MY_ASSERT: assert property(STABLE_TEST);
initial begin
#100000;
$finish;
end
endmodule
test: taa wave
taa:
vcs -full64 -sverilog -R -debug_access+all +vcs+vcdpluson taa.sv
debug:
./simv -gui &
wave:
dve -vpd vcdplus.vpd &
fork-join_none在task外的执行
module taa ();
task task1();
fork
#10;
$display("after 10 time");
join_none
endtask: task1
task task2();
fork
#10;
$display("after 10 time");
join
endtask: task2
task task3();
begin
#10;
$display("after 10 time");
end
endtask: task3
initial begin
$display("before");
task1();
#10;
$display("task 1:fork join_none %t", $realtime);
task2();
#10;
$display("task 2 %t fork join", $realtime);
task3();
#10;
$display("task 3 %t begin end", $realtime);
$finish;
end
endmodule
taa:
vcs -full64 -sverilog -R -debug_access+a taa.sv
输出
before
after 10 time
task 1:fork join_none 10
after 10 time
task 2 30 fork join
after 10 time
task 3 50 begin end
$finish called from file "taa.sv", line 34.
$finish at simulation time 50
非连续跟随重复符
连续重复运算符
非连续重复操作符
uvm_reg_predictor
如果使用镜像值获取数据(在function中使用),则必须定义uvm_reg_predictor并连接(bus_in)
例子
自定义概率生成数据的randcase
module taa ();
initial begin
int x;
for (int i = 0; i < 10; i++) begin
randcase
1:x=1;
2:x=2;
3:x=3;
endcase
$display("x is %0d", x);
end
end
endmodule
taa:
vcs -sverilog -R taa.sv
输出数据
x is 2
x is 3
x is 1
x is 3
x is 3
x is 3
x is 2
x is 1
x is 2
x is 3
标签:10,begin,task,end,UART,细节,taa,86,display 来源: https://www.cnblogs.com/bai2022/p/16336001.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。