打印

ALWAYS模块的敏感量(读书体会,解决以前问题)

[复制链接]
6425|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ma9453|  楼主 | 2009-12-10 22:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前不久在论坛发了个帖子询问关于ALWAYS模块的敏感量的问题,
主要就是同一个ALWAYS模块(组合逻辑),敏感列表一个把敏感量写全,一个只写一部分,经过高手点拨,知道后一种写法是不正确的,至于综合出什么电路,没人试过。
今天看书(数字设计,Wakerly),书上介绍,对于这两种不同写法,仿真效果不同,
是否执行ALWAYS块的内容是按照敏感量列表来仿真的,而两者综合的电路是完全一样的。
所以后一种写法虽然不影响综合,不过在仿真是却可能掩盖一部分内容。所以不应该采用第二种写法

相关帖子

沙发
yxwsz| | 2009-12-10 23:16 | 只看该作者
verilog 2001支持*符号,自动推导敏感变量
alway@(*)  begin
.......
end

使用特权

评论回复
板凳
ma9453|  楼主 | 2009-12-11 16:29 | 只看该作者
LS说的我知道,只不过看书的时候偶然把我以前产生的幼稚问题解决了

使用特权

评论回复
地板
一只小蜗牛| | 2009-12-12 09:50 | 只看该作者
我觉得楼主应该再深入地想一想,如果敏感表不全,你会综合出什么电路来?想明白了,你就会更进一步。

使用特权

评论回复
5
ma9453|  楼主 | 2009-12-13 13:55 | 只看该作者
4# 一只小蜗牛
回蜗牛,
额。。。。看来我的表达不好啊,
帖子里已经说了,敏感列表不全,综合出来的电路和敏感列表全的ALWAYS综合出来的电路是一样滴。。。

使用特权

评论回复
6
一只小蜗牛| | 2009-12-14 12:54 | 只看该作者
我知道你帖子里说了,但是即使是用顶级的综合工具,如果敏感列表不全还是可能会综合出latch来,全的和不全的有可能不一样,算了,面对一帮不喜欢思考的人,说了也是白说。

使用特权

评论回复
7
ma9453|  楼主 | 2009-12-14 15:08 | 只看该作者
6# 一只小蜗牛
这个得请教一下,因为帖子里写的是从一本书上看来的东西,基本就是个读书笔记,
具体的我还没来得及自己实验下,如果敏感列表不全有可能综合说锁存器的意思我不太理解,能不能举个例子具体说明下?

使用特权

评论回复
8
一只小蜗牛| | 2009-12-14 15:40 | 只看该作者
你先想一下latch是怎么描述的,然后再去研究一下敏感表不全的always语句,想明白,你就进步了。
另外,直白的讲,我比较讨厌你这样态度的人,你不能说你讲了一句话,别人提出异议,你就说那句话是来自第三方,即使有错也是第三方的错,你没有错。我搞不明白你的思考和价值在哪里??如果是这样,你直接介绍给大家那本书好了,在那里买?多少钱?大体的内容摘要。。。

使用特权

评论回复
9
ma9453|  楼主 | 2009-12-16 23:26 | 只看该作者
8# 一只小蜗牛
电平敏感的存储器件,这个是我对latch的理解(借用网络上一个帖子里的回复),敏感列表不全,只要丢失的敏感变量不是存在于if的判断表达式中,应该是综合成想要的电路,我对书上的内容是这么理解的,比较同意这种观点,以我现有的知识,我确实只能理解到这样,希望你能举个简单的例子。
PS:我不理解你为什么说后面的话,我是个学生,我获得知识的渠道就是书本和少量的实践,我确实没有丰富的经验,所以讨论问题时我说出我这个知识获得的途径我觉得没什么问题,我也赞同书上的观点,而不是说我想表达这是书上说的,和我无关。。。另外我确实是弄不明白,才想讨教,不明白我的回帖怎么就是不愿思考

使用特权

评论回复
10
一只小蜗牛| | 2009-12-17 11:52 | 只看该作者
不好意思,我不知道你还是学生。
关于这个问题,我们没办法做太多的讨论。
1)在设计中我们会尽最大可能的避免使用latch,原因你可以去网上查。
2)在1)的前提下,如果我们谈敏感表全不全的问题,是指我们希望综合出组合逻辑电路,而不是latch。
3)在敏感表全的情况下,综合出的肯定是组合逻辑,那我们就讨论一下敏感表不全的情况。
4)在敏感表不全的情况下,有的一定会被综合成latch,有的皆有可能。因为它不再目前的敏感表里,不等于它没有间接的在里边,也就说不在铭感表里的信号有可能是别的在敏感表里的信号产生的。
5)实际设计里,很多信号都是很复杂的,为了避免不必要的LATCH产生,你的敏感表必须写全,这是很重要的一个概念。

使用特权

评论回复
11
ma9453|  楼主 | 2009-12-18 10:11 | 只看该作者
10# 一只小蜗牛
综合处latch会影响逻辑功能,这个我知道,不过对你的回帖有两个问题,
对于3),在敏感列表全的情况下,综合出的也有可能是latch吧?
比如
always @ (a)
if(a)begin b=1; c=1; end
else c=0;
另外对于4)我没看明白。。。

使用特权

评论回复
12
一只小蜗牛| | 2009-12-18 14:55 | 只看该作者
奶奶的,是我脑子短路了,你说得没错。
我把敏感表(sensitivity list) 和full-case给混了。
:$:L

使用特权

评论回复
13
zhouskill| | 2009-12-18 15:16 | 只看该作者
.............

使用特权

评论回复
14
一只小蜗牛| | 2009-12-18 16:05 | 只看该作者
我要赞美一下楼主,我把你瞎骂了一顿,你还是很理智的在讨论,我很喜欢你。:lol
按理说,我应该找个地缝藏起来,可是我犯过很多错误,已经找不到多余的地缝了。:$
如果可以,我很愿意跟lz交个朋友。:handshake

使用特权

评论回复
15
ma9453|  楼主 | 2009-12-18 19:35 | 只看该作者
14# 一只小蜗牛
网络这个东西,大家都互相见不到面,所以不像现实这么低调,而且有时候同一句话,语气不同表达的感情不同,好多时候就因为这个打口水仗,又浪费时间又浪费精力。。
能交个朋友当然好,不过我可是纯菜鸟。。。。
PS:看来这本书上写的应该没错了

使用特权

评论回复
16
一只小蜗牛| | 2009-12-19 12:19 | 只看该作者
我是由fpga转到ic前端,然后转到验证。从业十年了。我写了很多种code,拿synopsys的dc试了一下,检查了结果,又跟做综合的同事确认了一下,然后发了上面的帖子。这是我在整个事情里的一个态度。之所以这样讲,是觉得做技术,态度很重要,不管菜鸟,还是老鸟,只有实事求是,才可以继续往前走。:$

使用特权

评论回复
17
impw| | 2009-12-19 15:10 | 只看该作者
最重要的是你要明白HDL中那些是可综合的,那些不是。Verilog中所有的延时都是不可综合的,如果不做Behavioral仿真,延时语句根本就没用

使用特权

评论回复
18
ma9453|  楼主 | 2009-12-19 15:50 | 只看该作者
多谢楼上指导~~

使用特权

评论回复
19
ma9453|  楼主 | 2009-12-19 15:52 | 只看该作者
16# 一只小蜗牛
蜗牛是好YIN啊~~:lol ,正想找人请教下呢,我现在大三,学电子科学与技术,学校开的专业课主要和半导体材料有关,貌似系里有个老教授很厉害,是搞材料的,不过我对材料没啥兴趣。。。想搞IC前端,如果以后想做这个,在学生时期,做些什么比较重要呢?如果是看书的话,有什么书可以推荐的?多谢啦

使用特权

评论回复
20
一只小蜗牛| | 2009-12-20 09:48 | 只看该作者
如果你真想干这一行,什么书能让你出国你就看什么书!
在国内的话你看什么书,最后都很可能被**了,影响学习的进程。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

307

帖子

1

粉丝