资料介绍
Verilog笔记 Welcome visit us at: www.eepw.com.cn
Verilog 笔记
1、parameter 和 `define 的区别
parameter 定义的常量只在本文件内部有效,`define 定义的宏在整个项目的范围内有效。
2、FSM 设计的一些问题
a、FPGA 实现的状态机建议用 one-hot
b、用 case 语句建立状态机模型时,如果有多余的状态一定要有 default 分支,使其进入确
定的正常状态, 以避免死锁;如果没有多余的状态,可以在 default 中将状态变量设为’bx,
这等于告知综合器:case 语句已经指定了所有的状态,综合器就可以删除不需要的译码电
路,使生成的电路简洁,并与设计要求一致
c、目前大多数综合器不能综合采用 verilog 描述的异步状态机;不要使用综合工具来设计
异步状态机(因为目前大多数综合工具在对异步状态机进行逻辑优化时会胡乱地简化逻辑,
使综合后的异步状态机不能正常工作)
d、在 verilog 中,状态必须明确赋值。通常用 parameter 或`define
3、always 块中避免组合反馈回路
用 always 块设计纯组合逻辑电路时,在生成组合逻辑的 always 块中参与赋值的所有信号都
必须有明确的值,即在赋值表达式右端参与赋值的信号都必须在 always@(敏感电平列表)中
列出
第 1 页 共 1 页