Verilog语法小结

建模方式

  • 数据流建模
 assign  add = a + b;//通过跟踪数据流来改变信号,常见于wire型变量
  • 行为级建模
initial // 用于仿真
always @ (list)  //用于综合
begin 
end
  • 结构化建模
    通过调用底层逻辑模块来进行电路描述,值得注意的是:底层模块中有参数时,可通过顶层模块修改底层模块的参数
module para1(C, D); //declaretion a module with param a and b;
  parameter a = 1;
  parameter b = 1;
  ...
endmodule
module para2;//reset the lower module para
  para1 #(4,3)  U1(C1, D1);
  para1 #(.b(5), .a(6))  U2(C2, D2);
endmodule

时序逻辑

  • 状态机的分类(按照输出相关性)
  1. mealy :输出不仅与当前状态有关,还与输入有关;
  2. moore: 输出只与当前状态有关。
  • 状态的编码:
  1. 二进制编码:节约资源,但状态翻转时容易引起毛刺。
    2.格雷码: 减小状态翻转时的可能产生的毛刺。
  2. 独热码: N个状态采用n位来编码
  • 状态机结构
  1. 两段式
  • 同步时序:状态更新,复位
    always(clock and rst)
  • 组合逻辑块:case模块
    always(current_state)
    同时将状态更新放入组合逻辑中(非阻塞赋值)。
    可能会存在隐患,状态更新放到组合逻辑中,可能会导致误翻转
  1. 三段式
  • 时序同步模块:状态更新
    always(clock ...)
  • 组合逻辑确定下一个状态
    always(current state)
  • 时序输出模块:
    always(clk rst)
    case(next_state)//变化输出靠next_state。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • fpga规范 工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎...
    Michael_Johnson阅读 5,939评论 1 4
  • Verilog基本电路设计之一:单bit跨时钟域同步 (帖子链接:bbs.eetop.cn/thread-6054...
  • 一个计数器通常是由一组触发器构成,该组触发器按照预先给定的顺序改变其状态,如果所有触发器的状态改变是在同一时钟脉冲...
    锦穗阅读 15,054评论 0 6
  • 学号:16010199021 姓名:李若宇 转载自 http://blog.csdn.net/sun1991011...
    承瑜阅读 5,990评论 0 1
  • 其他参考:主要是区分moore状态机和mealy状态机的。[原创][FPGA]有限状态机FSM学习笔记(一)[转载...
    暗夜望月阅读 13,124评论 1 2

友情链接更多精彩内容