【数字逻辑 | 组合电路基础】Verilog语法

简介: 【数字逻辑 | 组合电路基础】Verilog语法

👉引言💎


学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。 热爱写作,愿意让自己成为更好的人............

铭记于心
🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉


一、FPGA的一般设计流程


1.电路设计

根据需求指定电路设计方案

  • 比如设计一个时序电路,需要明确系统功能,决定采用同步还是异步,数据通路和控制电路如何设计,需要几个触发器,电路状态如何转换...
  • 通常,电路设计细化到寄存器传输级(RTL)即可,无需精确到门级

2.代码编写

  • HDL电路描述语言,可层次化,通用性强

3.功能仿真

4.综合实现

  • 完成HDL代码(较高层次电路描述)到真实芯片电路的转换过程,类似于编译器将高级语言转换为目标机器的二进制代码的过程。
  • 综合阶段:
  • 网表生成:检查代码语法,给出错误报告。将代码编译为由基本逻辑单元连接而成的逻辑网表。
  • 门级优化:将用户的设计自动转换成一个等价或更优电路;
  • 工艺映射:决定网表中的每一个元件如何在FPGA的可用资源中实现
  • 实现阶段:将综合出的网表映射为FPGA芯片内部固有的硬件逻辑模块上(称为布局),然后基于布局的拓扑,利用内部的连线资源,将逻辑模块连接起来(称为布线)。
  • 时序分析:计算所有模块和走线延迟,产生一系列表格以量化电路性能。并用来确定生成电路是否满足时序要求。若无异常,将生成一个bitstream比特流文件,该文件即为最终电路。

5.上板调试

  • 将综合实现生成的比特流文件下载到FPGA芯片中,运行电路,观察其工作是否正常,若有问题,要调试定位出错的原因


二、Verilog基本语法


  • 基本语法
  • 门电路

image.png

  • assign
  • always
    各个always块并行执行,always块可以产生各种逻辑,电平触发的always块常用来描述组合逻辑行为;沿触发的always块常用于时序逻辑的功能描述。通过综合工具自动将其转换为相应的逻辑结构

image.png

  • 位置关联法
  • 名称关联法

image.pngimage.png


三、注意事项及设计流程


  • 实验板使用注意事项
  • 插拔USB数据线前,最好电源开关处于off状态。
  • Micro USB避免插反,应该是带勾的平头朝上,如果发现很难插拔,需要检查是否插反。(损坏概率最高)
  • 尽量避免湿手、带静电的手接触电路板及外设接口部分。
  • 用外设的时候注意电平,应该是3.3V兼容5V输入,避免高电压接入。
  • 注意安装Vivado和工程目录不要出现中文,也不要使得工程所在目录太深。
  • 电脑的用户名不要设置为中文,会出现各种诡异的问题。
  • 主要设计流程以及注意事项
  • 设计流程
  • .V输入(add Sources)->综合(Run synthesis)->添加约束文件->添加仿真文件->功能仿真->运行实现过程(Run implementation)->生成bit流(Generate Bitstream)->Auto connect target ->Program Divice
  • 区分仿真和综合:功能仿真不是必须,但却非常必要;一定要学会通过看仿真时序来验证电路功能的正确性。 习惯查看综合后的设计,如RTL Schematic,熟悉“什么样的代码会综合成什么样的电路”,有助于编程技能提升。
  • 生成bit流后,再接入电路板
  • 关于Testbench代码(测试文件代码):
    结构
module testbench;// 通常testbench没有输入与输出端口
    信号或变量定义声明;
    使用initial或always语句来产生激励波形;
    例化设计模块;
    监控和比较输出响应;
endmodule

🌹写在最后💖: 路漫漫其修远兮,吾将上下而求索!伙伴们,再见!🌹🌹🌹


相关文章
|
存储 传感器 物联网
【数字逻辑 | 组合电路基础】电路基础知识
【数字逻辑 | 组合电路基础】电路基础知识
【数字逻辑 | 组合电路基础】电路基础知识
《逻辑与计算机设计基础(原书第5版)》——3.8 迭代组合电路
本节书摘来自华章计算机《逻辑与计算机设计基础(原书第5版)》一书中的第3章,第3.8节,作者:(美)M.莫里斯·马诺(M. Morris Mano)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1111 0
Verilog语法入门(二)多bit逻辑门
Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。
162 0
《逻辑与计算机设计基础(原书第5版)》——3.4 基本逻辑函数
本节书摘来自华章计算机《逻辑与计算机设计基础(原书第5版)》一书中的第3章,第3.4节,作者:(美)M.莫里斯·马诺(M. Morris Mano)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1388 0
《逻辑与计算机设计基础(原书第5版)》——2.1 二值逻辑和逻辑门
本节书摘来自华章计算机《逻辑与计算机设计基础(原书第5版)》一书中的第2章,第2.1节,作者:(美)M.莫里斯·马诺(M. Morris Mano)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3494 0
《逻辑与计算机设计基础(原书第5版)》——第3章 3.0组合逻辑电路的设计
本节书摘来自华章计算机《逻辑与计算机设计基础(原书第5版)》一书中的第3章,第3.0节,作者:(美)M.莫里斯·马诺(M. Morris Mano)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1316 0
|
开发工具 芯片 异构计算
Verilog 设计方法
Verilog 的设计多采用自上而下的设计方法(top-down)。即先定义顶层模块功能,进而分析要构成顶层模块的必要子模块;然后进一步对各个模块进行分解、设计,直到到达无法进一步分解的底层功能块。这样,可以把一个较大的系统,细化成多个小系统,从时间、工作量上分配给更多的人员去设计,从而提高了设计速度,缩短了开发周期。
127 1
|
算法
Verilog语法入门(一)简单组合逻辑电路
Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。
130 0
《逻辑与计算机设计基础(原书第5版)》——2.3 标准形式
本节书摘来自华章计算机《逻辑与计算机设计基础(原书第5版)》一书中的第2章,第2.3节,作者:(美)M.莫里斯·马诺(M. Morris Mano)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1444 0