摘要:
超线程/同步多线程(HT/SMT)技术 虽然现在超线程(Hyper-Threading)被大家广泛接受,并把所有一个物理核心上有多个虚拟核心的技术都叫做超线程,但这其实是Intel的一个营销名称。而实际上这一类技术的(学术/技术)通行名称是同步多线程(SMT,Simultaneous Multith 阅读全文
摘要:
fork join_any 在一个简单的SystemVerilog中,main thread会等到所有child thread都完成执行。这意味着如果任何child thread永远运行并且永远不会完成,则fork将挂起模拟。SystemVerilog还提供了带有fork join和fork joi 阅读全文
摘要:
fork join SystemVerilog 通过构造提供对并行或并发threads的支持。可以使用fork和join同时生成多个procedural blocks。有一些变体允许main thread根据child thread何时完成继续执行其余语句。 Syntax fork // Threa 阅读全文
摘要:
Wait fork wait fork允许 main thread 等待,直到所有 forked threads 都结束。这在 main thread 必须生成多个 threads 并在等待所有 threads 完成之前执行某些功能的情况下非常有用。 Example 我们将使用上一篇文章中相同的示例 阅读全文
摘要:
SystemVerilog Threads What are SystemVerilog threads or processes ? thread 或 process 是作为单独实体执行的任何一段代码。在 verilog 中,每个initial和always块都作为单独的 thread 生成,这些 阅读全文
摘要:
SystemVerilog Coverpoint Bins Usage coverpoint 用于在 covergroup 中指定要进行覆盖率收集统计收集的目标的变量。它记录单个变量或表达式的观测值。 coverpoint后面跟变量名或表达式,用于指定要收集覆盖率的目标。 可以使用bins关键字手动 阅读全文
摘要:
SystemVerilog Covergroup and Coverpoint coverpoint 是 covergroup 中最基本的单元,多个 coverpoint 的覆盖率构成 covergroup 的覆盖率,在构成整体功能覆盖率。covergroup new covergroup可以在包、 阅读全文
摘要:
SystemVerilog Functional Coverage covergroup 和 VCS 获取 coverage 的主要区别 covergroup用于功能覆盖率收集,而vcs主要用于代码覆盖率收集。 covergroup需要在设计代码中显示定义和实例化,通过sample()方法触发采样。 阅读全文
摘要:
SystemVerilog Assertions with time delay 到目前为止,在之前的文章中,在每个时钟边沿检查了简单的布尔表达式。但是顺序检查需要几个时钟周期才能完成,并且时间延迟由符号指定。## ## Operator 如果a在任何给定时钟周期内不为高电平,则序列在同一周期内启动 阅读全文
摘要:
SystemVerilog $rose、$fell、$stable A 是 SystemVerilog assertion 中的简单构成基块,可以表示某些表达式以帮助创建更复杂的属性。sequence Simple Sequence module tb; bit a; bit clk; // Thi 阅读全文