原创 verilog 的one-hot写法

2009-3-6 11:11 5670 9 11 分类: FPGA/CPLD

在critical path上,经常需要使用one-hot的方法实现逻辑。要实现同样的逻辑,可以使用n种coding style,但是要保证工具能正确综合到适合的逻辑,还是要养成良好的coding style。看下面的例子。


849f2754-2891-4c49-a3bb-a42fe1512e39.gif


这种写法比较奇特,但却是可综合的。仔细想想,其实就是if / else if / else。


4e6deac6-2fa8-444b-b49f-17837ddd4170.gif


这种写法也是可综合的。以上的两种写法都需要保证mux的sel是one-hot的,不然运行的结果必然不一样。因为第一种写法实际上是有优先级的,第二种则会把各个选项的结果or起来。以上都是BAD coding style!


要保证整个开发流程比较顺利,我们就要使用好的coding style。从门级的角度去分析,使用一下的方法最稳妥!


9cd4ab89-fc9a-4af6-9a26-778faf3c18d4.gif

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户191366 2009-3-17 10:45

yes

用户194424 2009-3-10 23:57

{2{sel[0]}}中的2表示什么,是2位么
相关推荐阅读
用户191366 2009-07-22 20:29
亚稳态相关知识点
亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平...
用户191366 2009-06-10 09:38
未来SoC技术发展的几个特点
作者:魏少军   时间:2008-11-06  半导体工业的主导已经从过去的面向商务和政府应用转移到面向个人的消费电子意义上来,美国半导体产业协会(SIA)的资料显示传统的IT产品更新换代的周期是24...
用户191366 2009-03-17 10:16
转--uc/OS 任务调度机制
一. 内核概述:    多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通讯。内核提供的基本服务是任务切换。之所以使用实时内核可以大大简化应用系统的设计,是因为实...
用户191366 2009-03-11 09:52
vim的verilog插件
2008-11-07vim下好用的verilog插件:)( 更新) - [IC]版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bb2hh.blogbus.com/log...
用户191366 2009-03-05 15:07
用于作为数据信号的clk的处理方法
某个模块需要把clk信号作为data信号用的时候,例如:c = clk ? a : b ;直接使用会导致逻辑综合、物理综合的大量时序问题。个人觉得解决方法如下(不对的请指正!)1、如果clk直接由系统...
EE直播间
更多
我要评论
2
9
关闭 站长推荐上一条 /3 下一条