集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1741|回复: 4

【FPGA】对FPGA的理解

[复制链接]
月影星痕 发表于 2019-7-8 09:07:49 | 显示全部楼层 |阅读模式
该文章主要描述对FPGA的理解及其在嵌入式开发中FPGA的配合问题。
1、FPGA的设计流程
FPGA(Field Programmable Gate Array)是一种可编程的逻辑电路,可以通过硬件描述语言Verilog或者VHDL实现逻辑电路的设计。其设计流程如下:
系统设计->Verilog/VHDL实现->功能仿真->逻辑综合->布局布线->后仿真->在线系统测试。
其中,功能仿真又可以称为前仿真,主要验证所创建的逻辑功能是否正确。
后仿真为布局布线后的仿真,对应于门电路级别的仿真,与前仿真不同,这里可以看到具体电路的布局布线对时序上的影响。

参考:《FPGADesign Flow》Altera.com
《功能仿真与时序仿真,及Modelsim的使用》

2、FPGA与嵌入式开发
之前在实习时是用CPU控制FPGA内部逻辑,达到对接口时序进行控制,对应的原理框图如下:


上图中,CPU与FLASH,DDR及CPLD采用localbus总线方式进行连接。
在这里,CPLD在业务上除了对MCU与FPGA之间的数据进行透传之外,还起到PS加载的作用。很多人可能认为这样的设计可能会比较多余,因为CPU可以直接对FPGA进行PS加载,只要模拟加载的接口时序即可,同时,这样也可以达到对FPGA的直接操作。但是,这样的设计是为了能够提高PS加载的速度。
对于CPU来说,接口时序的模拟有一定的瓶颈,速度要具体参考对应GPIO的转换速度,一般不是专门设计用来加载的GPIO口,其高低电平转换速度有限,通常为kHz,这就导致了FPGA的加载速度取决于GPIO口的速度。但对于CPLD加载FPGA这样的方式来说,CPU只需要将数据通过localbus发送给CPLD,然后加载的过程由CPLD进行,对于localbus这样的总线,参考时钟通常在66MHz左右,所以CPU发送速度有所保障,大大提升PS加载的速度。更多的PS加载流程,可参考Aletra的手册。
此外,在业务中,CPU与FPGA的控制主要通过CPU->CPLD->FPGA进行,CPLD将数据从CPU端透传至FPGA端,从而CPU能够直接操作FPGA内部定义好的寄存器,实现对应操作。

参考:《Using CPLD Improve FPGA Loading Speed》李春雨,张丽霞
---------------------
作者:Denny#
来源:CSDN
原文:https://blog.csdn.net/jaych/article/details/43732281
版权声明:本文为博主原创文章,转载请附上博文链接!
hyhyx1 发表于 2019-7-9 08:57:37 | 显示全部楼层
这是玩到了一定高度的技术人员总结经验

点评

海!外直播 bitly.net/xaaax 禁闻视频 bitly.net/grrrg 前天看了一份调查CCTV在全国的收视率,东三省最高87%,然后依次下降到广东的5%。我看得笑起来了,活脱脱的一个经济倒排序,看得越多脑子越残!不如看这个..  发表于 7 天前
大鹏 发表于 2019-7-15 13:41:30 | 显示全部楼层
【FPGA】对FPGA的理解
zxopenljx 发表于 2025-3-26 16:35:12 | 显示全部楼层
【FPGA】对FPGA的理解
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-3 14:22 , Processed in 0.057947 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表