返回介绍

9.1 简介(一般信息)

发布于 2020-09-09 22:55:48 字数 660 浏览 967 评论 0 收藏 0

Verilog-2001具有定义了静态进程的always和initial块。

在一个用来建模组合逻辑的always块中,如果忘记了else语句会产生一个不期望的锁存器。为了避免这个错误,SystemVerilog加入了专门的always_comb和always_latch块,它向仿真、综合和形式验证工具指明设计意图。SystemVerilog还加入了一个always_ff块来指示时序逻辑。

在系统建模过程中,Verilog的一个主要限制是缺乏动态创建进程的能力,这种能力在操作系统中经常出现。虽然Verilog具有fork...jion结构,但它仍然被限制成静态的。

SystemVerilog既具有由always、initial或fork引入的静态进程,也具有由fork...join_any和fork...join_none引入的动态进程。

SystemVerilog为每一个initial或always块、fork...join块中的每一条并行语句以及为每一个动态进程均创建了一个执行线程。每一条连续赋值语句也被认为是它自己的线程。

SystemVerilog 3.1通过增强fork...join结构加入了动态进程的能力,这种方式对于Verilog用户来说是非常自然的。SystemVerilog 3.1还引入了动态进程控制结构,它能够使用动态、父子关系来中止或等待进程。它们是wait fork和disable fork。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文