FPGA HDL硬件电路设计基础

569 阅读1分钟

1 HDL语法

  • 逻辑值 image.png
  • Verilog 的数字进制格式 image.png image.png
  • 标识符 image.png

2 语法

2.1 寄存器类型:

  • 寄存器类型表示一个抽象的数据存储单元它只能在 always 语句和 initial 语句中被赋值,并且它的值从一个赋值到另一个赋值过程中被保存下来。如果该过程语句描述的是时序逻辑,即 always 语句带有时钟信号,则该寄存器变量对应为寄存器;如果该过程语句描述的是组合逻辑,即 always 语句不带有时钟信号,则该寄存器变量对应为硬件连线;
  • 寄存器类型的缺省值是 x(未知状态)

2.1 线网类型:

image.png

2.2 参数类型:

image.png

2.3 逻辑运算:

image.png

2.4 位运算:

image.png

2.5 移位运算:

image.png

2.6 拼接运算:

image.png

2.7 关键字:

image.png

2.8 结构语句(#表示延时):

image.png image.png image.png

2.9 赋值语句:

image.png image.png

  • 非阻塞同时计算abc值 image.png image.png

2.10 条件语句:

image.png

2.11 CASE语句:

image.png

2.12 状态机

image.png image.png image.png image.png image.png image.png

2.13 3段式状态机设计

image.png image.png image.png

3 程序框架

image.png

3.1 模块定义

  • 子模块定义 image.png
  • 顶层模块定义,例化子模块,进行模块调用 image.png

3.2 顶层模块调用

image.png

4 LED程序设计

image.png image.png image.png image.png image.png

  • xdc约束文件引脚配置 image.png image.png image.png
  • 仿真验证 image.png