推 bluemkevin: RTL 组合电路的部分用 gate level 似乎没必要, Tool 02/12 18:48
→ bluemkevin: 会帮你化简 02/12 18:48
其实我觉得这话也不是这么讲, tool好像是在Flip Flop之间化简
combination电路的能力很强, 甚至我尝试过写到人都觉得长得不一样的code,
netlist 就是硬生生的一样, 让我觉得千万不要跟tool pk化简, 因为你化不赢他
但是呢, 如果是架构上整个 FF可以少用的, 其实合成出来的就会天差地远了(自己经验)
以前好像曾经有个同事想要写某段电路, 写的落落长,
好像要做某种Bit shift还啥鬼的, 被我看穿意图
他的Behavior code写的落落长, 用掉一堆 Flip Flop
后来我把他code改成类似以下这种风格
A = {10, 01, 00, 11}
B = {A[3:0], A[7:4]}
A <= {B[1:0}, B[3:2], B[5:4], B[7:6]}
结果主管就把我电翻了XDDDD, 明明我的Code是对的, 而且Flip Flop 少三倍,
而且这Code又短又精简很好呀XDD
面积又省一堆, 不过没有人看的懂我想干嘛=_=,
可是我觉得这明明就很简单的数学规则而已
RTL 组合电路的部分用 gate level 似乎没必要, Tool会帮你化简
跳巢喔, 还是算了吧~ 反正写Code自己爽,公司太多要面对人的问题, 我还是自己接接案子就好
作者:
s860134 (s860134)
2017-02-13 02:30:00写注解吧 技术好要让别人看得懂人家才知道你是高手阿XD
=_=我不是高手的说, 我只是觉得这种Code看起来赏心悦目而已XD, 很短很漂亮而且有时候写注解别人也看不懂因为有些想法就是要转个弯我很讨厌看到那种明明几个算式可以写完的RTL结果写了一堆Behavior code可是其实很多人喜欢看哪种落落长的Code, 搞不懂
作者:
xam (听说)
2017-02-13 03:15:00那他电你的理由是什么?
作者:
s860134 (s860134)
2017-02-13 03:16:00我猜是可读性吧.
作者: danlove (danlove) 2017-02-13 07:37:00
没看过你老板的code但你这种blocking和nonblockong结合在一起的behavior code也会被我电翻因为很有可能RTL simulation和gate level或FPGA行为不一致
作者:
aowen (...)
2017-02-13 08:07:00至少文章里面的语法是该电没错…
作者: tkhan (脑残绿吱吱) 2017-02-13 08:30:00
慧心一笑..^_^..
作者:
dakkk (我是牛我反刍)
2017-02-13 08:57:00少写 assign其实A 没什问题 B的合成 可能会拉很远的线 又没ff同步 你的timing会很差
写A<={A[5],A[4],A[7],A[6],A[1],A[0],A[3],A[2]} wo B
作者:
dslite (呼呼)
2017-02-13 12:40:00combination logic需要自己搞吗
马的这我一定电啊 你怎么不想想看这东西合出来会变怎么样 你以为在写C喔
我以前写code原则绝对不是越短越好 可读性很重要 过阵子要mantain也许就忘记当初的想法了啦 建议还是写成九成九的人都看得懂的style
作者: tiencheng (第一支舞) 2017-02-13 13:21:00
满招损,谦受益. 在职场不要随便开口闭口电来电去的人外有人天外有天, 态度谦逊对自己专业领域成长有帮助
Data shift 这样写还好啦 程式码其实会影响模拟软件编译的速度其实不少人会错估合成软件合出来的东西
作者:
uxijgil (PoLo)
2017-02-13 18:26:00想补充有时候多加FF, 是为了速度切pipeline另外, 有时候写得更落落长, 是为了parameterize, 通用型
作者:
stkeiko (笨笨狗)
2017-02-13 18:31:00可读性真的很重要..对后面的接手的人来说...
作者:
cancboy (:p)
2017-02-13 21:50:00你以为你同事写不出来吗?
作者:
ps0411 (ps0411)
2017-02-13 21:52:00原PO讨电,救不了你
作者:
laladeer (laladeer)
2017-02-13 22:33:00data shift 哈哈哈哈
被电是因为code写得漂亮 但硬件不一定能实作吗??你弄这种东西有打算去高频交易吗? 抢微秒拼奈秒
被电是因为, 这Code逻辑漂亮, 硬件省可是主管认为会变成比较不好懂, 因为基本逻辑完全不不同
我能认同老板前面也很多人说 可读性与可维护性 我有感