高手写的代码是什么样子的?
同意你以前老大的说法
一个always块里最好只涉及一个信号的变化
多个信号变化条件相同时,可以写到一个always里面
真正的"程序员"...
很多书上都说是最好是前一种写法,只涉及一个信号
3楼正解
赚积分
能写出好用但是别人却看不懂的代码的人 我觉得肯定智商是没得说的 但是是不是高手还有待商榷啊
学习 赚积分 7# mbutterfly
个人觉得always块里面最好只是DFF的描述,所有的组合逻辑用assign.如:
wire AAAD = A & B | C ....
always @(...)
if(~reset_) AAA <= 1'b0;
else AAA <= AAAD;
当然这个always块里面可以包含多个register的描述,但它们最好是相关的.
这样做的好处?我个人觉得只要是为了做ECO的方便.
ls说得有理
同意8楼的说法!
学习学习!
看逻辑需要,不过每块块还是小点,电路分析清楚,拆分清楚
O NO @看不懂 !
好的代码:风格简洁,逻辑清晰,注释清楚,可读性强
我原来的风格是一个always写一个DFF,曾经是被强制要求这么去做。
现在觉得楼上的方法很不错,可以把有效代码量控制住,也就是那些组合逻辑,DFF可以写在一起,这样一眼就可以知道什么是你的设计逻辑,同时使用了多少DFFs。
现在自己的设计风格倾向这点。
到底always里面应该是一个变量,还是多个变量啊?觉得怎么越讨论越糊涂呢?说出这样做的理由嘛
不管放在哪里,只要是可以写清楚就可以了吧
dingw
是的这种风格很好
各位又有好的资料介绍一下
不错不错!
always里按信号变化的条件分组信号,看起来比较清楚
想学习。
一个always块里写几个信号,不是判断高手的标准,高手是高在设计思想,表现形式那些都是浮云
高手是乱招(或者无招……),但对于不是高手的人来说,良好的代码风格是很重要的,可以规避一些容易犯的错误
时许逻辑的always和组合逻辑的always分开,有人说组合逻辑不用always那是没有碰到复杂的设计。
例如:
代码1:
always @(posedge clk) out <= a + b;
代码2:
assign tmp = a + b;
always @(posedge clk) out <= tmp;
代码2相对要好一些。
另外,所谓高手代码质量通常巨烂无比,甚至有几万行的always语句。
写代码一般遵循的原则:数据通路和控制逻辑分开。代码结构尽可能接近spec的diagram。
你以前的老大说的没错,估计很always很长的,是从写C代码转过来的...
记得刚开始写的时候,也是always巨长无比
