干货分享,FPGA硬件系统的设计技巧
PGA的硬件设计不同于DSP和ARM系统,比较灵活和自由。只要设计好专用管脚的电路,通用I/O的连接可以自己定义。因此,FPGA的电路设计中会有一些特殊的技巧可以参考。
1. FPGA管脚兼容性设计
FPGA在芯片选项时要尽量选择兼容性好的封装。那么,在硬件电路设计时,就要考虑如何兼容多种芯片的问题。例如,EP2C8Q208C8和EP2C5Q208这两个型号的FPGA。其芯片仅有十几个I/O管脚定义是不同的。在EP2C5Q208芯片上,这几个I/O是通用I/O管脚,而在EP2C8Q208C8芯片上,它们是电源和地信号。为了能保证两个芯片在相同的电路板上都能工作,我们就必须按照EP2C5Q208的要求来把对应管脚连接到电源和地平面。因为,通用的I/O可以连接到电源或者地信号,但是电源或地信号却不能作为通用I/O。在相同封装、兼容多个型号FPGA的设计中,一般原则就按照通用I/O数量少的芯片来设计电路。
2. 根据电路布局来分配管脚功能
FPGA的通用I/O功能定义可以根据需要来指定。在电路图设计的流程中,如果能够根据PCB的布局来对应的调整原理图中FPGA的管脚定义,就可以使后期的布线工作更顺利。例如,如图2-10所示,SDRAM芯片在FPGA的左侧。在FPGA的管脚分配时,应该把与SDRAM相关的信号安排在FPGA的左侧管脚上。这样,可以保证SDRAM信号的布线距离最短,实现最佳的信号完整性。
3. FPGA预设测试点
目前FPGA提供的I/O数量越来越多,除了能够满足设计需要的I/O外,还有一些剩余I/O没有定义。这些I/O可以作为预留的测试点来使用。例如,在测试与FPGA相连的SDRAM工作时序状态时,直接用示波器测量SDRAM相关管脚会很困难。而且SDRAM工作频率较高,直接测量会引入额外的阻抗,影响SDRAM的正常工作。如果FPGA有预留的测试点,可以将要测试的信号从FPGA内部指定到这些预留的测试点上。这样既能测试到这些信号的波形,又不会影响SDRAM的工作。如果电路测试过程中发现需要飞线才能解决问题,那么这些预留的测试点还可以作为飞线的过渡点。
本文转自小平头电子技术社区:https://www.xiaopingtou.cn/article-104214.html 嵌入式,物联网,硬件PCB,电子技术尽在小平头
干货分享,FPGA硬件系统的设计技巧的更多相关文章
- 【干货分享】sketch 前端开发常用技巧总结
sketch横空出世,移动端的应用越来越多的采用sketch来做,前端开发也需要掌握更多sketch技巧. (1) sketch导出图片时,如何快速选择多个图层? 1. 在画布上任一点单击并拖拽出一个 ...
- μC/OS-II在Microblaze上的移植与使用专题--“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛参赛作品
reference:http://xilinx.eetrend.com/d6-xilinx/blog/2010-05/682.html 随着集成电路设计与制造技术的发展,FPGA芯片的容量越来越大 ...
- 【干货分享】Google 的设计准则,素材和资源
在谷歌,他们说, “专注于用户,所有其它的就会水到渠成 ”.他们遵循设计原则,寻求建立让用户惊喜的用户体验.谷歌一直挑战自己,为他们的用户创造一种视觉语言,综合优秀设计的经典原则和创新.谷歌设计规范是 ...
- 《FPGA设计技巧与案例开发详解-第二版》全套资料包
本人参与写的一本书(TimeQuest一章由我所写),希望大家多多支持: 全书配套资料上传各大网盘资料中附送大量源码,你值得拥有--<FPGA设计技巧与案例开发详解-第二版>全套资料包-V ...
- 数字逻辑实践4->面向硬件电路的设计思维--FPGA设计总述
本文是对实验课上讲解的"面向硬件电路的设计思维"的总结,结合数字逻辑课本,进行提炼和整理. 主要来源是课件与本人整理,部分参考了网络大佬的博客. 本文主要介绍不同于之前软件设计思维 ...
- 最强最全干货分享:Android开发书籍、教程、工具等
最全干货分享,本文收集整理了Android开发所需的书籍.教程.工具.资讯和周刊各种资源,它们能让你在Android开发之旅的各个阶段都受益. 入门<Learning Android(中文版)& ...
- 【腾讯Bugly干货分享】React Native项目实战总结
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...
- .NET框架设计(常被忽视的C#设计技巧)
阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你的对象如虎添翼(要学会使用扩展方法的设计思 ...
- 【干货分享】Node.js 中文资料导航
这篇文章与大家分享一批高质量的的 Node.js 中文资料.Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用 Node ...
随机推荐
- [ cocos2d-JS ] 创建项目命令
cocos new HelloJS -l js -p com.neworigin.HelloJS -d D:\0-Game\cocosJS-project
- redis报错MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist
解决方法:通过redis-cli连接到服务器后执行以下命令: config set stop-writes-on-bgsave-error no 注意:这种方法只是忽略了问题,并没有解决问题,具体问题 ...
- (转)zookeeper理解
分布式服务框架 Zookeeper -- 管理分布式环境中的数据 Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题 ...
- 八十三、SAP中的ALV创建之二,ALV相关的类型池定义
一.与ALV相关的类型都是在TYPE-POOLS:SLIS中.我们来到SE11 二.常用的定义有fieldca和layout等,用于显示字段,和控制信息数据等. 三.我们以VBAK表为例,用ALV输出 ...
- mysql 分组查询教程
1.分组 分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 2.分组的特点 1.)group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组 ...
- P 1027 打印沙漏
转跳点:
- MFC OCX 控件事件的添加和处理
1.控件的事件一般都是由对外的接口引发到,这里定一个接口先: 该接口有一个字符串参数,表示调用者将传入一个字符串,传进来后,我们将取得字符串的长度. 2.添加事件: 事件应该是属于窗口的,所以在Ctr ...
- H5 - 本地数据存储 - localStorage.setItem
- 剑指offer题目汇总
二维数组中的查找 题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中 ...
- 路由反射器(RR)配置
IBGP与EBGP的区别:是否使用指定源(update-source) 路由反射器(RR)配置: 零:关闭同步,关闭自动汇总. ①:启用BGP ②:在相同BGP-AS下建立邻居. ③:指定路由器及所在 ...