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硬件系统的设计技巧的更多相关文章

  1. 【干货分享】sketch 前端开发常用技巧总结

    sketch横空出世,移动端的应用越来越多的采用sketch来做,前端开发也需要掌握更多sketch技巧. (1) sketch导出图片时,如何快速选择多个图层? 1. 在画布上任一点单击并拖拽出一个 ...

  2. μC/OS-II在Microblaze上的移植与使用专题--“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛参赛作品

    reference:http://xilinx.eetrend.com/d6-xilinx/blog/2010-05/682.html   随着集成电路设计与制造技术的发展,FPGA芯片的容量越来越大 ...

  3. 【干货分享】Google 的设计准则,素材和资源

    在谷歌,他们说, “专注于用户,所有其它的就会水到渠成 ”.他们遵循设计原则,寻求建立让用户惊喜的用户体验.谷歌一直挑战自己,为他们的用户创造一种视觉语言,综合优秀设计的经典原则和创新.谷歌设计规范是 ...

  4. 《FPGA设计技巧与案例开发详解-第二版》全套资料包

    本人参与写的一本书(TimeQuest一章由我所写),希望大家多多支持: 全书配套资料上传各大网盘资料中附送大量源码,你值得拥有--<FPGA设计技巧与案例开发详解-第二版>全套资料包-V ...

  5. 数字逻辑实践4->面向硬件电路的设计思维--FPGA设计总述

    本文是对实验课上讲解的"面向硬件电路的设计思维"的总结,结合数字逻辑课本,进行提炼和整理. 主要来源是课件与本人整理,部分参考了网络大佬的博客. 本文主要介绍不同于之前软件设计思维 ...

  6. 最强最全干货分享:Android开发书籍、教程、工具等

    最全干货分享,本文收集整理了Android开发所需的书籍.教程.工具.资讯和周刊各种资源,它们能让你在Android开发之旅的各个阶段都受益. 入门<Learning Android(中文版)& ...

  7. 【腾讯Bugly干货分享】React Native项目实战总结

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...

  8. .NET框架设计(常被忽视的C#设计技巧)

    阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你的对象如虎添翼(要学会使用扩展方法的设计思 ...

  9. 【干货分享】Node.js 中文资料导航

    这篇文章与大家分享一批高质量的的 Node.js 中文资料.Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用 Node ...

随机推荐

  1. 英语 - take的短语

    take care of  照顾 take place  发生 take action  行动 take over  接管 take in   欺骗(某人) take up   拿起 take awa ...

  2. 对jsp中的js进行调试的方法

    在js中 输入debugger 就可以了

  3. 使用pip install jupyter报错处理办法及修改Jupyter默认加载路径的方法

    1.配置python环境之后想使用Jupyter,网上查看可以使用pip install Jupyter安装,执行命令行后正常安装,安装到一半以后报错,如图1.2 图1 图2 2.发现是安装过程中安装 ...

  4. java简写名词解释

    RPC(Remote Procedure Call)—远程过程调用 实时编译器(Just In Time Compiler,JIT) XML 指可扩展标记语言(EXtensible Markup La ...

  5. 九十一、SAP中ALV事件之五,查看状态栏,工具栏和功能键等

    一.我们按照说明,来到SE37功能模块,然后点击[转到]->[函数组]->[显示组] 二.按照说明输入SALV,点击勾选 三.点击主程序 四.点击主程序后,我们来到函数组页面,然后 五.我 ...

  6. SQL优化工具 - SQL Server Profiler与数据库引擎优化顾问

    最近项目做到几千个学生分别去人脸识别记录(目前约630000行)中查询最后一次记录,可想而知性能这块是个麻烦.于是乎,GET到了SQL Server Profiler和数据库引擎优化顾问这俩工SHEN ...

  7. junit基础学习之-引用spring容器的测试(7)

    context 自动注入的文章链接:http://www.360doc.com/content/11/0815/09/2371584_140471325.shtml

  8. POJ 2586:Y2K Accounting Bug

    Y2K Accounting Bug Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11297   Accepted: 56 ...

  9. Kubernetes-基于helm安装部署高可用的Redis及其形态探索

    首先是一些关于redis的介绍和其在K8S上的安装过程:https://www.kubernetes.org.cn/3974.html 1.1部署形态 通过上述地址的教程,可以完成redis 的安装和 ...

  10. 并发 ping

    参考 [root@RS2 ~]# cat .sh #!/bin/bash # --, by wwy #------------------------------------------------- ...