system-verilog - 如果“break”在fork-join内,如何打破循环?
问题描述
我需要打破一个repeat
循环,它的break
决定是在一个 fork-join 块内做出的,但是我的模拟器没有编译具有以下结构的代码。
repeat (10) begin
fork
begin
// do something
end
begin
#(100ms);
break; // compile error
end
join_any
disable fork;
end
我也试过这个disable
命令。我能够编译,但它没有打破循环。
repeat (10)
begin : repeat10_loop
fork
begin
// do something
end
begin
#(100ms);
disable repeat10_loop; // try
end
join_any
disable fork;
end : repeat10_loop
有没有办法使用break
或disable
在 fork-join 内?
解决方案
break
andcontinue
语句必须与循环语句在同一进程中。您禁用的问题是您错误地标记了循环。尝试:
repeat10_loop: repeat (10)
begin
推荐阅读
- javascript - 使用 javascript 扩展 typescript 库
- diagram - GOJS 第二个图表的缩放问题
- django - ImproperlyConfigured:请求设置 INSTALLED_APPS,但未配置设置
- json - 如何使用卷来持久化我的 mongodata?
- c# - 在 azure protal 中连接两个应用服务和简易表格
- python - 如何整齐地打印字典?
- sql - 如果路径键在变量 postgresql 中,如何更新 jsonb 值
- data-analysis - 在新闻文章中分析和挖掘什么?
- java - 如何在系统启动或休眠和睡眠时创建 bat 文件
- javascript - 如何让 ESLint 包含本地文件?