← 基础知识题集

推荐答案 测试一下

2.4 至简设计

编程题 中等 笔试真题

参考答案

至简设计法(明德扬)倡导FPGA设计中最简资源、最规范结构。核心是使用统一计数器模板:always@(posedge clk or negedge rst_n) if (!rst_n) cnt <= 0; else if (add_cnt) begin if (end_cnt) cnt <= 0; else cnt <= cnt + 1; end。计数器的启动(add_cnt)和结束(end_cnt)用wire定义,实现各种时序功能。例如边沿检测:设计一个计数器,当输入信号为高时add_cnt有效,end_cnt为1时输出一个时钟高电平脉冲并清零。此方法避免使用组合逻辑,减少毛刺。状态机推荐单进程写法,将状态转移和输出合在一个always块中,代码简洁且避免竞争。易错点:复位信号缺失导致初始状态不定;add_cnt和end_cnt逻辑不完整造成计数器死锁;组合逻辑输出可能产生毛刺,应使用时序赋值。至简设计不仅适用于简单模块,也推广到复杂系统,如串口、SPI等,强调代码可读性和复用性。

涉及知识点

  • 至简设计法核心思想
  • 计数器设计模板
  • 状态机单进程写法
  • 边沿检测实现
  • 时序逻辑输出避免毛刺
← 上一题
登录后反馈错题
下一题 →