SystemVerilog:: Unique and Priority
来源:互联网 发布:cdrx4软件下载 编辑:程序博客网 时间:2024/05/22 03:06
http://www.doulos.com/knowhow/sysverilog/tutorial/rtl/
Unique and Priority
Another common mistake in RTL Verilog is the misuse of the parallel_case and full_case pragmas. The problems arises because these are ignored as comments by simulators, but they are used to direct synthesis. SystemVerilog addresses this with two new keywords: priority andunique.
Unlike the pragmas, these keywords apply to if statements as well as case statements. Each imposes specific simulation behaviour that is readily mapped to synthesised hardware. unique enforces completeness and uniqueness of the conditional; in other words, exactly one branch of the conditional should be taken at run-time. If the specific conditions that pertain at run-time would allow more than one branch of the conditional, or no branch at all, to be taken, there is a run-time error. For example, it is acceptable for the selectors in a case statement to overlap, but if that overlap condition is detected at runtime then it is an error. Similarly it is okay to have a unique case statement with no default branch, or an if statement with no else branch, but at run time the simulator will check that some branch is indeed taken. Synthesis tools can use this information, rather as they might a full_case directive, to infer that no latches should be created.
priority enforces a somewhat less rigorous set of checks, checking only that at least one branch of the conditional is taken. It therefore allows the possibility that more than one branch of the conditional could be taken at run-time. It licenses synthesis to create more extravagant priority logic in such a situation.
- SystemVerilog:: Unique and Priority
- task and function(systemverilog)
- severity and priority举例
- Heap and Priority Queues
- Linux priority and nice value
- Signaling Semaphores and Priority Inheritance
- Priority
- RSTP priority vector and role selection
- Thread Scheduling and Priority in Java
- STL笔记:heap and priority sort
- SystemVerilog 中的 Variable slice of vector and array
- Unique Constraint, Primary Key and Unique Index
- [LeetCode] Unique Paths and Unique Paths II
- Unique Paths and Unique Paths II
- Java学习笔记(20) Lists, Stacks, Queues, and Priority Queues
- Chapter 4: 序列式容器之 heap and priority queue
- C++ Priority Queues(优先队列) and C++ Queues(队列)
- Primary key and Unique index
- 下载安装BlackBerry 10 Native SDK(Gold) 2012.12
- Ie6下asp.net 中treeview自动随鼠标变小的修复
- 如何设置BCB编译选项才能让编译好的程序在未安装BCB的机器
- Git 操作实战示例(四)
- 如何使用ajax开发web应用程序
- SystemVerilog:: Unique and Priority
- css格式化table的代码示例
- JAVA中 @Override 的作用
- 225. If you make yourself an ass, don't complain if people ride you. 人善被人欺,马善被人骑
- 安装BlackBerry 10 Simulator
- 安卓开发 内存泄露查找
- 一日一点RakNet(39)--Lobby2Client-Steam
- 简述PCM,DPCM,ADPCM的区别。
- 八款开源 Android 游戏引擎 (巨好的资源)