
Verilog
qq_16923717
这个作者很懒,什么都没留下…
展开
-
记一个Verilog一段式状态机的低级错误
问题是这样的:我想在某个状态state1下根据输入a改变输出b的值,但是在芯片里运行的时候发现只要状态维持在state1下,b的值始终是从上一个状态跳到state1时的值,只有在state1变化的边沿,b的值才会根据输入a更新。原代码如下:always @ (posedge clk) begin if (rst) begin b <= 'd0; ...原创 2018-10-30 10:00:03 · 2302 阅读 · 0 评论 -
Verilog Coding Styles
参考自:http://guqian110.github.io/pages/2015/04/21/verilog_hdl_coding_style_guide.html好的代码风格不仅便于理解和重用,也便于综合工具的优化,Good Coding Styles应当从设计之初就开始了,因为模块划分的好坏会直接影响到代码的可读性和重用性。所以一开始我们就要遵循一定的规则对模块进行划分,然后...原创 2018-07-24 22:33:08 · 2872 阅读 · 0 评论 -
Verilog中的`timescale及它对仿真时间的影响
1. `timescale`timescale是Verilog中的预编译指令,指定位于它后边的module的时间单位和时间精度,直到遇到新的`timescale指令或者`resetall指令。它的语法如下:`timescale time_unit / time_precision假如我们延时x个时间单位,那延时的总时间time = x*time_unit,但最后真正延时的时间是根据ti...原创 2018-07-18 17:50:23 · 38794 阅读 · 3 评论 -
Verilog中的parameter
1. 概述在Verilog中我们常常会遇到要将一个常量(算法中的某个参数)赋给很多个变量的情况,如:x = 10;y = 10;z = 10;如果此时10要改为9,就需要在代码中修改3个地方,非常的不方便,并且这个10是没有任何意义的,我们不知道它代表什么,所以为了代码的易重用、易读性,我们应常量参数化的形式,如:parameter MAX = 10;x = MAX;...原创 2018-07-16 16:29:20 · 94122 阅读 · 2 评论