这个代码有问题吗?
assign cnt_N = cnt + 8'd1;
always @ (posedge clk)
cnt <= cnt_N;
这种代码,明明一页能写下的reg硬生生的多了一页的wire。还口口声声说组合时序逻辑分开写多好多好,也说不出为什么好。一定是90年代用fpga遗留下来的习惯
弱问:这种不是典型的 二段/三段式 吗?我看教科书上经常拿这种风格跟 一段式的风格比较,然后推荐二段/三段式代码,否定一段式风格。
现在FPGA版面的趋势是支持一段式,清晰易懂。教材上的二三段式观点是90年代的,过时的学院派风格。
我是新手,有点迷茫了,刚开始看了一两个小项目的代码是一段式,感觉的确易懂。后来好好学了学教材,开始转二段/三段式,感觉有点别扭。不过忍忍也能接受,因为这种风格跟时序图很贴近。现在又推荐一段式了。貌似有一种观点,FPGA上时序电路和组合电路混在一起写也不是大事了。彻底不知所措了。所以转来问问。看看本版的观点。
谢谢。
这是组合逻辑、时序逻辑完全分开写。
对于一个没有数电基础,而又有编程语言基础的人很容易一锅端搞在一起自己也分不清楚。
稍微写过几个项目,能认知并在脑子中转化为rtl之后,就怎么省事怎么写了,反正综合后的结果是一模一样的
现在的综合工具处理起来都是一样的。这就像c语言有register关键字一样,历史残留问题。现在写RTL以清晰易懂为好,至于怎样写综合友好的RTL,读hdl compiler的文档比看啥书都权威。
re
写书的人,特别是老人,学究太多。限制这,限制那的,有部分根本没必要
这是加法无所谓,如果是乘法呢?
代码风格这种事情呢,谁官大挺谁的。无所谓对,无所谓不对。。把时间精力浪费在这上毫无意义。
乘法有什么问题?
这种写法没个鸟用。
三段式是为了让状态机代码更清晰。
如果就这么一个简单的+1,根本没必要搞这么麻烦。
写的很好啊,我一眼看过去就知道里面有几个部件了
单从rtl debug的角度,这种风格更友好些
怎么可能,verdi里面找信号都要多敲个字母
好幸福,用verdi。我司买不起,只好用vim的/
我司VPN不稳定的岁月里,都是拷贝到本地用crimson editor
我好像还用过windows盗版的
太没人性了。