FPGA期末复习


杂记

  1. RTL Register Transfer level
  2. 时序仿真是最接近真实器件运行特性的仿真。
  3. 综合器总是能综合出唯一的电路网表文件。然而,在实际的数字电路设计中,这种说法是不准确的。综合器在将高级设计描述(如HDL代码)转换为门级网表时,可以基于不同的优化目标(如速度、面积、功耗等)和综合策略产生不同的网表结果。同一个功能的电路描述,根据不同的综合约束和目标,可能会被综合成不同的电路网表。因此,综合出的网表文件并不唯一。

HDL设计风格

行为级描述

数据流描述

结构描述

顺序描述语句(Sequential Statements)

顺序描述语句是在进程(process)、函数(function)和过程(procedure)中使用的。这些语句按照书写的顺序执行,类似于软件编程中的顺序执行。
构造体中的语句是并行执行的,与书写顺序无关

端口的方向

in out inout BUFFER

variable是局部量,只能在process和子程序里面用?
子程序是什么?

/=是不等于,斜杠向左偏

基于FPGA/CPLD的数字系统设计流程包括:
设计输入、综合、适配、仿真、编程下载。
设计输入 综合 适配 仿真 下载

数据建立时间

在时钟跳变之前数据必须保持稳定无跳边的时间

数据保持时间

在时钟跳变之后数据必须保持稳定的时间

entity

类书参数说明

问题

  1. 门控时钟?
  2. 状态机重新复习
  3. variable singal constant区别与联系

基于VHDL的电路设计

组合逻辑电路:基本门电路、多路选择器、编码器、译码器

时序逻辑电路:时钟信号的边沿检测、同步复位信号和异步复位信号的描述、计数器、状态机(枚举数据类型、多进程)

系统设计:任务分析、功能模块划分、分析各个模块之间的联系、利用上述基本模块来实现各个功能模块。

设计时的其他问题和技巧

HDL语句的可综合性

符合HDL语法规范的代码不一定能够综合成对应电路的设计信息
除法 变字长的循环语句 无线循环语句

FPGA的配置问题

主模式(FPGA主动串行方式) 从模式(FPGA被动方式) JTAG配置方式(ISP)

设计优化方法(面积优化和速度优化);

面积优化

  1. 可以使用更小规模的FPGA器件,节省成本
  2. 为日后升级留下更多资源
  3. FPGA资源使用过多会导致功耗上升
  4. FPGA布线资源有限,占用资源过多会影响电路性能

速度优化

  1. 流水线设计,时钟周期不得小于数据从输入到输出经过的时间,系统最高频率取决于延时最小的组合逻辑块
  2. 寄存器配平。
  3. 关键路径法(优先使用)
  4. 乒乓操作法
  5. 加法数法

数据建立和保持时间的要求;

数据建立时间

在时钟跳变之前,数据必须保持稳定的时间

数据保持时间

在时钟跳变之后数据保持稳定的时间

数据的稳定传输必须同时满足数据建立时间和数据保持时间,应当避开在数据建立时间或在其附近读取数据。

冒险现象和毛刺消除技术;

毛刺消除

  1. 延时方式
  2. 逻辑方式
  3. 定时方式
    分别用两个独立的Timer对输入信号的高低电平的持续时间进行技术,大于某个阈值再输出对应高低电平

FPGA设计中时钟的种类和不同时钟的特点及优化方法。

时钟种类

  1. 全局时钟
  2. 门控时钟
    驱动时钟的逻辑必须只包含一个与门或者一个或门
    逻辑门的一个输入作为实际的时钟,逻辑门的所有其他输入必须当成地址或者控制线。
  3. 多级逻辑时钟
  4. 行波时钟
    一个触发器的输出用作另一个触发器的时钟输入

文章作者: Harry Zhang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Harry Zhang !
  目录