小编在本节完整给出一个设计过程,可利用ISE或Vivado硬件编程软件实现。
1 HDL代码、逻辑电路和器件
- 编写“HDL代码”来描述电路功能
- EDA工具中进行“RTL综合”和“综合”
“RTL综合”将HDL代码转换为逻辑电路
“综合”这一步将经过“RTL综合”后的门电路映射为FPGA器件的物理结构 - “实现”这一步将对FPGA器件进行最终的布局布线
- 综合实现的结果将会被转换为可以最终运行在FPGA器件上的二级制烧录文件
2 HDL代码实例
- 在每个时钟clk信号的上升沿,实现输出信号dout的值为输入信号ain、bin和cin的2级门运算的结果
- 这个门运算先是ain和bin“逻辑与”,它们得到的结果再和cin“逻辑或”
- 输入复位信号rst_n为异步复位信号,任何时刻这个信号的下降沿将直接触发输出信号dot取值为0
举个栗子
module at7(
clk,rst_n,
ain,bin,cin,dout
);
input clk;
input rst_n;
input ain,bin,cin;
output reg dout;
always @(posedgeclk or negedgerst_n)
if(!rst_n)
dout <= 1'b0;
else
dout <= (ain & bin) | cin;
endmodule
3 RTL综合
- “RTL综合”后的逻辑电路原理图,它很好的以门电路的形式表达了我们的实例代码
- “RTL综合”门电路和HDL代码所描述的功能完全一致,大家对比下图和第2节的代码。下图即是代码RTL综合后的布局。
图1 RTL综合后的逻辑电路原理图
4 综合
- “RTL综合”是指将HDL代码转换为逻辑门电路形式来表达的一个过程;“综合”却是将已经用逻辑门关系表达的电路进一步转换为FPGA器件实际物理结构相对应的电路形式 “综合”电路中看不到任何的“门”
- “综合”的结果是所使用的特定FPGA器件中实际存在着的物理结构,如“输入缓冲”、“查找表”、“触发器”和“输出缓冲”等
图2 RTL综合与综合的关系
图3 综合后的逻辑电路原理图
5 实现
- 在“综合”给出HDL代码与实际FPGA器件的映射关系后,做具体执行的工作
- 如果把“综合”结果比喻为电路板设计的“原理图”阶段,那么“实现”这个步骤就是具体的“布局布线(layot)”阶段
图4 布线图
6 生成烧录文件
- 如同电路板的layout完成后要生成gerber,FPGA工具最终也要产生一个bit文件用于烧录到FPGA中运行了
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
FPGA
+关注
关注
1603文章
21331浏览量
593302 -
逻辑电路
+关注
关注
13文章
471浏览量
42216 -
HDL
+关注
关注
8文章
324浏览量
47107 -
代码
+关注
关注
30文章
4557浏览量
66826 -
Vivado
+关注
关注
18文章
790浏览量
65110
发布评论请先 登录
相关推荐
如何在FPGA上实现HDL代码完成MATLAB转换
如果您正在使用 MATLAB 建模数字信号处理(DSP)或者视频和图像处理算法,并且最终将其用于 FPGA 或 ASIC,本文可能将为你带来帮助。 从 MATLAB 生成 HDL 代码 FPG
如何使用Verilog HDL进行FPGA设计
FPGA设计流程是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。FPGA的设计流程如上图所示:包括设计定义、代码
发表于 04-04 10:29
•1411次阅读
Vivado中进行HDL代码设计
块,其敏感列表中应该包含时钟信号和所有异步控制信号。使用HDL代码设计触发器、寄存器时注意如下基本规则:寄存器不要异步置位/复位,否则在FPGA内找不到对应的资源来实现此功能,会被优化
发表于 09-29 10:08
基于模型设计的HDL代码自动生成技术综述
、基于模型设计的HDL代码自动生成技术应用需求近年来,现场可编程门阵列(FPGA)被广泛应用于航空航天、汽车、通信、工业自动化、电机控制、医学成像等嵌入式应用领域。传统的FPGA上的数
发表于 06-08 09:29
FPGA双沿发送之Verilog HDL实现 精选资料推荐
1.1 FPGA双沿发送之Verilog HDL实现1.1.1 本节目录1)本节目录;2)本节引言;3)FPGA简介;4)FPGA双沿发送之
发表于 07-26 06:20
FPGA双沿采样之Verilog HDL实现 精选资料分享
1.1 FPGA双沿采样之Verilog HDL实现1.1.1 本节目录1)本节目录;2)本节引言;3)FPGA简介;4)FPGA双沿采样之
发表于 07-26 07:44
基于Verilog HDL语言的FPGA设计
采用 Verilog HDL 语言在Altera 公司的FPGA 芯片上实现了RISC_CPU 的关键部件状态控制器的设计,以及在与其它各种数字逻辑设计方法的比较下,显示出使用Verilog
发表于 08-21 10:50
•69次下载
FPGA实现数字时钟
在Quartus Ⅱ开发环境下,用Verilog HDL硬件描述语言设计了一个可以在FPGA芯片上实现的数字时钟. 通过将设计代码下载到FPGA
发表于 11-29 16:51
•179次下载
MathWorks推出基于MATLAB生成HDL代码的产品
MathWorks 近日宣布推出 HDL Coder,该产品 支持MATLAB 自动生成 HDL 代码,允许工程师利用广泛应用的 MATLAB 语言实现
发表于 03-07 09:27
•2053次阅读
基本组合逻辑功能双向管脚的Verilog HDL源代码
电子发烧友网核心提示: 本例程是Verilog HDL源代码:关于基本组合逻辑功能中双向管脚的功能实现源代码。 Verilog HDL: B
发表于 10-15 11:28
•1537次阅读
多路选择器(MUX)功能实现Verilog HDL源代码
电子发烧友网核心提示: 本例程是Verilog HDL源代码:关于基本组合逻辑功能中多路选择器(MUX)的功能实现源代码。注意:程序运行在不同软件平台可能要作一些修改,请注意阅读程序
发表于 10-15 11:40
•2.2w次阅读
MathWorks网络研讨会:高性能FFT的HDL实现与验证
在 Virtex-7 FPGA 上运行进行了优化)。演示的工作流程从参考 MATLAB 代码开始,强调了模型开发、定点转换、优化 HDL 代码生成以及
发表于 02-09 02:26
•275次阅读
System Generator实现串口通信(一行HDL代码都不用写)
一直都在System Generator下做图像处理相关的算法,感觉SysGen挺强大的,前几天突发奇想,能否直接用SysGen实现数据的通信呢,毕竟一句HDL代码都不写对于做FPGA
发表于 02-10 19:51
•2678次阅读
评论