我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 2893|回复: 2

[产品新知] FPGA的几点重要总结

[复制链接]

该用户从未签到

44

主题

184

回帖

0

积分

二级逆天

积分
0

终身成就奖特殊贡献奖原创先锋奖

发表于 2018-12-1 09:10:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
<div><p style="margin-bottom: 12px; padding: 0px; word-wrap: break-word; letter-spacing: 0&#46;5px; font-size: 16px; background-color: rgb(255, 255, 255); text-indent: 2em; color: rgb(51, 51, 51) !important; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;"><a href="http://www&#46;elecfans&#46;com/tags/fpga/" target="_blank" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;"><u>FPGA</u></a>编程语言为何叫硬件描述语言?     
   硬件即FPGA硬件,硬件描述语言,也就自然地告诉我们可以通过语言来描述FPGA内部硬件。如:用y=a&b来描述一个2输入的与门,用PLL来描述类似外部<a href="http://www&#46;elecfans&#46;com/tags/%E6%97%B6%E9%92%9F/" target="_blank" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;"><u>时钟</u></a>管理芯片。        因此,要想学好FPGA,你得用硬件的思维方式来编写代码,注重FPGA的系统结构设计,好的系统结构设计会带来质的飞跃,这就告诉我们RTL Coding其实是硬件结构设计,而非基于处理器架构的C语言程序开发,好的RTL Coding就是好的硬件结构。
2&#46;  FPGA设计是做串并操作的时序设计?      
  FPGA内部硬件之间的通信为多对多节点通信,不仅存在无先后顺序的并行逻辑,而且还存在先后顺序的串行逻辑,这和<a href="http://www&#46;elecfans&#46;com/tags/cpu/" target="_blank" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;"><u>CPU</u></a>基于指令的顺序执行逻辑完全不同,我们需要严格控制设计中各个信号之间的时间关系,以满足最终的时间上的需求,即时序要求。</p><p style="margin-bottom: 12px; padding: 0px; word-wrap: break-word; letter-spacing: 0&#46;5px; font-size: 16px; background-color: rgb(255, 255, 255); text-indent: 2em; color: rgb(51, 51, 51) !important; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">因此,FPGA设计就是针对既有串行操作,又有并行操作的时序设计,即FPGA串并操作的时序设计。
3&#46;  FPGA串并操作,该如何理解?
a&#46;执行完A后再执行B;      
b&#46;A和B之间并行执行,且没有关联;      
c&#46;A和B之间并行执行,且开始时有先后顺序,即串行逻辑;        
d&#46;FPGA的复杂系统包含上述多种灵活组合,设计时需多多琢磨思考,合理设计。
4&#46;  FPGA内部最基本硬件结构LUT,你理解吗?        
LUT的原理很简单,就是把各种可能的结果存起来标个号,每次根据输入的号来输出结果。如:一位加法器有4种可能输入对应3种结果,就只需要做一张表格,把所有的输入和输出一一对应即可。</p><p align="center" style="margin-bottom: 12px; padding: 0px; word-wrap: break-word; letter-spacing: 0&#46;5px; font-size: 16px; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51) !important; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;"><a href="http://file&#46;elecfans&#46;com/web1/M00/7B/9C/o4YBAFwB1ymADUxaAABXfp_Khhk930&#46;png" rel="lightbox-img" style="cursor: pointer; text-decoration-line: none; color: rgb(66, 152, 186); word-break: break-all;"><img alt="FPGA的几点重要总结" src="http://file&#46;elecfans&#46;com/web1/M00/7B/9C/o4YBAFwB1ymADUxaAABXfp_Khhk930&#46;png" style="vertical-align: middle; cursor: pointer; margin: 0px auto; display: block; max-width: 100%; border-radius: 2px; height: 208px; width: 500px;" /></a></p><p style="margin-bottom: 12px; padding: 0px; word-wrap: break-word; letter-spacing: 0&#46;5px; font-size: 16px; background-color: rgb(255, 255, 255); text-indent: 2em; color: rgb(51, 51, 51) !important; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">图1  LUT实现方式</p><p style="margin-bottom: 12px; padding: 0px; word-wrap: break-word; letter-spacing: 0&#46;5px; font-size: 16px; background-color: rgb(255, 255, 255); text-indent: 2em; color: rgb(51, 51, 51) !important; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">理解了LUT原理,我们可以用相同的思想来实现DDS、简单乘法、简单三角函数等,有时可以大大省资源,因为毕竟FPGA最终都是有多个LUT级联+Reg+其它 来实现各种复杂的硬件电路。</p><p style="margin-bottom: 12px; padding: 0px; word-wrap: break-word; letter-spacing: 0&#46;5px; font-size: 16px; background-color: rgb(255, 255, 255); text-indent: 2em; color: rgb(51, 51, 51) !important; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">5&#46;  
FPGA设计关键在于结构的设计,你同意吗?      
a&#46;首先,清楚FPGA的内部结构,基本结构为LUT;</p><p style="margin-bottom: 12px; padding: 0px; word-wrap: break-word; letter-spacing: 0&#46;5px; font-size: 16px; background-color: rgb(255, 255, 255); text-indent: 2em; color: rgb(51, 51, 51) !important; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">b&#46;然后,按照功能、时钟域、串并操作、数据流和控制流来综合考虑系统的结构;</p><p style="margin-bottom: 12px; padding: 0px; word-wrap: break-word; letter-spacing: 0&#46;5px; font-size: 16px; background-color: rgb(255, 255, 255); text-indent: 2em; color: rgb(51, 51, 51) !important; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;">c&#46;最后 ,根据面积、速度和功耗来不断优化系统结构,设计出最合理的系统结构。</p><p style="margin-bottom: 12px; padding: 0px; word-wrap: break-word; letter-spacing: 0&#46;5px; font-size: 16px; background-color: rgb(255, 255, 255); text-indent: 2em; color: rgb(51, 51, 51) !important; line-height: 30px !important; font-family: "Microsoft yahei", 微软雅黑 !important;"><span style="color: rgb(153, 153, 153); font-family: 微软雅黑, "Microsoft Yahei", arial, helvetica, sans-serif; font-size: 13px; letter-spacing: normal; text-indent: 0px;">来源:电子发烧友网</span></p></div>
回复

使用道具 举报

该用户从未签到

18

主题

2467

回帖

0

积分

二级逆天

积分
0

终身成就奖优秀斑竹奖特殊贡献奖

QQ
发表于 2018-12-1 10:48:45 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

6

主题

236

回帖

311

积分

二级逆天

积分
311

终身成就奖

QQ
发表于 2018-12-1 10:50:52 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

每日签到,有金币领取。


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表