微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 高手写的代码是什么样子的?

高手写的代码是什么样子的?

时间:10-02 整理:3721RD 点击:
最近看别人的代码看到头痛,一个always块那个长啊,涉及到的信号那个多啊。记得以前的老大说一个always块里最好只涉及一个信号的变化。现在的老大却完全相反。唉。

同意你以前老大的说法

一个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巨长无比

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top