Electronics 板


LINE

※ 引述《sasako (只想把你留在心中)》之铭言: : ※ 引述《zxvc (修行)》之铭言: : : non-blocking与blocking不是这样分的。 : : 都可以用来model sequential或combinational circuits。 : : 例如: : : module Test(d, c, e, f, b, a); : : output reg d, c; : : input e, f, b, a; : : always@(*) : : if(a == 1 & b == 1) : : c = 1; : : else : : c = 0; : : always@(*) : : if(e == 1 & f == 1) : : d <= 1; : : else : : d <= 0; : : endmodule : : c跟d都会合出AND gates。 : : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : : 又如sequential circuit: : : module Test(c, d, Clock , Reset1); : : output reg [2:0] c; : : output reg d; : : input Clock, Reset1; : : always@(posedge Clock) : : if(Reset1) : : c = 0; : : else : : begin : : c = c+1; : : if(c == 3) : : d = 1; : : else : : d = 0; : : end : : endmodule : : 这个用blocking的写法会造成c = 3的那个(clock) cycle,d = 1。 : : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : 我这样分,是希望在coding style大家能保持良好的习惯, : 把sequential和combinational作分开,这样在debug的时候 : 会比较容易.. : 至於你上面写的这个例子,个人认为就是一个bad example, : c可以知道会合出DFF,且会是一个简单的conuter.. : 至於d他是一个combinational的电路,你将sequential和combinational : 混在同一个always底下,的确还是可以合成,只是当在写大电路时, 基本上 d 并不是 combinational 电路 而是一个 有 clk 的 DFF,因为有写了 posedge clock 不信的话,您可以合成看看....一定会有 clk combinational ckt 与 sequential ckt 分开,是很好的 coding style 但是,有时候,并不一定会比较好阅读 下面这个电路,其实两个还是合在一起 /////////// always @( posedge clk or negedge rst) if(!rst) test <= 0 ; else test <= test +1 ; /////////// 下面这个,才真的分开 /////////// always @(posedge clk or negedge rst) if(!rst) test <= 0; else test <= test_pre ; assign test_pre = test +1 ; //////////// 强制分开的话,我觉得对新人很好 因为可以避免有人把他当成 c 语言来写.... 如果心中先有电路,再把他描述出来,(或是有先纸上作业) 基本上,会有多少DFF,心中早就知道了 而且,combitional ckt 该怎样,其实也早就知道了... 所以这两个分开的写法,会比较像是 : 心中有电路 --> coding : 这就会造成debug上的困扰,至少我在初学者的时候,我曾经也是这样 : ,後来当程式写得越多越大时,就会发现这样的style实在是不好的... : 或许刚开始大家可能为了交作业,只想function对就行了,但往後 : 程式开始复杂时,学长、老师的要求就会是整齐,把每个讯号分清楚, : 加上注解,这样以後再回头看,自己还记得当初在写什麽,交接学弟 : 时,至少不会让人阅读起来很痛苦... : 而回到原作者一开始的问题,我觉得可以去参考一下CIC design compiler : 那本教科书,他甚至举完例子,还画出了合成的示意图,非常容易了解.. : 而坊间的书多半都是解释"<=" 就是在同时间一起动作,"="则是有次序的 : 动作,虽然是有次序,但在Wave上是看不出来,不过我的经验是有时候写 : a=a+1; 与 b=a+1; 结果会是不一样的... : b=a+1; a=a+1; : 我相信这每个人都会迟早会碰到..一开始会觉得很奇怪,不过等遇到时就 : 会开始注意,只能说debug真的是在累积错误的经验...呵呵 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.230.4
1F:推 colinshih:1. simulation-synthesis mismatch: 你们说的都对, 一个 04/15 23:32
2F:→ colinshih:以simulation 角度, 一个以synthesis角度 04/15 23:33
3F:→ colinshih:2. seq. 电路 block 包含 combination 电路, 基本上就是 04/15 23:34
4F:→ colinshih:一个 bad coding style, 基本的linting rule通常都是出 04/15 23:34
5F:→ colinshih:error,而非warning, 最好避免. 另外coding完跑linting 04/15 23:35
6F:→ colinshih:是qualified designer 基本要求, 建议慢慢养成习惯 04/15 23:37
7F:推 zxvc:真的一定要把combinational circuits从sequential circuits 04/16 04:50
8F:→ zxvc:分开吗?这是我第一次跑nLint的结果,似乎是过的: 04/16 04:50
10F:推 zxvc:这个也过了: 04/16 05:02
12F:推 ksmrt0123:那牌的linter说 a<=a+1; 是error的? 真是太超过 04/16 13:11
13F:→ ksmrt0123:而且... linter会出error喔? nLint 好像只有warning 04/16 13:14
14F:推 zxvc:nLint有error,不过是compile还是lint有error我没注意。 04/16 21:09
15F:→ colinshih:linting rule 由 rule specification (setting) 决定 04/16 23:29
16F:→ colinshih:和tools 有何关系? nLint 怎麽没有error setting? 04/16 23:30
17F:→ colinshih:k兄少见多怪了, 另外我在工作前均使用 IPQ 定义 rule 04/16 23:31
18F:→ colinshih:setting, 由IPQ联盟制定, 为IP竞赛基本rule setting fil 04/16 23:32
19F:→ colinshih:所以,以SIP deliverable,此类coding style是被IPQ禁止 04/16 23:38
20F:→ colinshih:当然以a<=a+1'b1而言, 不考量IP设计, 当然不必特别限制 04/16 23:40
21F:推 ksmrt0123:linter都有 pre-defined rules吧, 这些rule也是每家 04/17 01:35
22F:→ ksmrt0123:linter都一样? 刚特地翻了nLint的文件, pre-defined 04/17 01:36
23F:→ ksmrt0123:rules都是warning没错啊 会出error可能是user-defined 04/17 01:38
24F:→ ksmrt0123:rules吧 04/17 01:38
25F:推 ksmrt0123:nLint的warning/error跟severity设定有关 是我搞错了 04/17 01:51
26F:推 zxvc:刚才测试nLint也有IPQ rules。但我用该rule,lint的结果仍没 04/17 08:06
27F:→ zxvc:没有要分离出combinational circuits的警告或错误。(或许是 04/17 08:07
28F:→ zxvc:nLint的IPQ rules不完整!?) 04/17 08:08
29F:→ zxvc:(我已经把severity调成最高的level 10) 04/17 08:09
30F:推 zxvc:我想不是每家公司都在做IP,没有必要都用这麽严格的rules吧。 04/17 08:15
31F:→ zxvc:像IPQ rules中,注解没写也算errors。 04/17 08:16
32F:→ zxvc:那请问一般业界都用哪个rules?nLint、RMM、IPQ? 04/17 08:18
33F:推 pierreqq:col应该是指 IPQ 的 SIM.2 那条 04/17 11:58
34F:→ pierreqq:你们之前把com定为a+1,seq定会a<=1,所以讨论起来很乱 04/17 12:02
35F:→ pierreqq:不自觉的一直钻牛角尖下去 04/17 12:03
36F:→ pierreqq:com always-> block? seq always-> nonblocking? 04/17 12:09
37F:→ pierreqq:感觉像是表达上的失准 04/17 12:13
38F:→ pierreqq:大家都有经验,应该不会卡在这种基本问题上才是 04/17 12:14
39F:推 zxvc:我觉得我应该没有误解co、Acme大的意思。 04/17 17:35
40F:→ zxvc:我们现在讨论的问题不是哪里该用blocking、non-blocking, 04/17 17:35
41F:→ zxvc:而是写sequential circuits要不要把combinational circuits 04/17 17:36
42F:→ zxvc:分离出来。 04/17 17:36
43F:→ zxvc:我是觉得讨论这麽detail的问题感觉有点"钻牛角尖",但从讨论 04/17 17:39
44F:→ zxvc:的过程我觉得学到不少东西。 04/17 17:40
45F:→ Acme:其实,我的重点是:d是DFF,不是combinational ckt... 04/17 20:50
46F:→ Acme:我也说了,分开不一定会比较好阅读..... 04/17 20:51
47F:→ Acme:而且,tst<=tst+1; 其实不是分开...而是test<=test_pre才是 04/17 20:52
48F:→ Acme:我说对新人很好,是只对完全空白的新人,还没有seq. com.的概念 04/17 20:58
49F:→ Acme:当然...各位早就远远超过了新人许久了... 04/17 21:01
50F:→ sneak: col应该是指 IPQ https://noxiv.com 11/11 15:04
51F:→ sneak: nLint的IPQ r https://muxiv.com 01/04 21:55







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl 或 站内搜寻

TOP