当前位置: 首页 > news >正文

FPGA硬件设计1 最小芯片系统-Altera EP4CE10F17C8、Xilinx xc7a100t

目录

一、Altera EP4CE10F17C8

1、供电

(1)、VCCINT

(2)、VCCIO

(3)、VCCA

(4)、VCCD_PLL

2、BANK设计

(1)、时钟

(2)、IO

(3)、差分

(4)、专用

二、Xilinx xc7a100t

1、供电电压

(1)、VCCINT

(2)、VCCBRAM

(3)、VCCAUX

(4)、VCCO

2、供电时序

3、BANK设计

(1)、时钟

(2)、IO

(3)、差分

(4)、专用


        对比STM32而言,取消了PA、PB、PC、PD、PE此类命名,转为了BANK;

        IO命名也不再具有外设的概念,例如IIC、SPI不再具有专用IO,转为了常规IO、差分IO、CLK、差分CLK。

一、Altera EP4CE10F17C8

1、供电

(1)、VCCINT

        VCCINT为内核供电,即用于FPGA运行工作。

(2)、VCCIO

        而VCCIO用于IO的工作电平,其做了分区处理,即可以实现不同分区的IO用于不同的工作点平。

(3)、VCCA

        PLL模拟电压,2.5V,需要注意的是即使FPGA设计中未使用PLL仍要提供VCCA。

(4)、VCCD_PLL

        PLL数字电压,1.0V/1.2V,一般接1.2V。

        此类低端FPGA一般不考虑严格的上电时序,即有输入5V,输出3.3、2.5、1.2即可。

2、BANK设计

        最方便看一个FPGA有几个BANK,就看供电区域即可,IO一般命名为VCCIOx,其中x为数字。

(1)、时钟

        这个是FPGA运行起来的核心,例如EP4CE10F17C8,其具有7个CLK输入。

        其采用了单端时钟输入模式,因此外置的晶振输出时钟必须接到该IO上。高端的片子具备差分时钟输入接口。

(2)、IO

        几乎所有的接口都可以当作常规单端IO口使用。

(3)、差分

        一旦使用差分,必须成对存在。

        红色6p和6n为一组,蓝色7p和7n为一组,由于差分对在芯片端是固定的,因此IO约束的时候,通常只约束p即可,所以一旦使用必须成对存在。

(4)、专用

        以DDR接口为例,此专用IO有的FPGA会允许修改引脚,有的不允许,对于不允许的必须按照IO分配进行DDR连接。进行8位DDR2设计时,就指定了相关的DQ、DQS和DQM引脚,我们设计时应该遵从这些引脚约束。

        在该FPGA的上、下、左、右区域分别都指定有这些引脚:

        每个方向又都分有4个区,若是选择8位的DDR,则每个区有9个DQ引脚和相应的DQS、DQM:

(1)左:DQ0L、DQ1L、DQ2L、DQ3L,以及DQSL和DML

(2)下:DQ2B、DQ3B、DQ4B、DQ5B,以及DQSB和DMB

(3)右:DQ0R、DQ1R、DQ2R、DQ3R,以及DQSR和DMR

(4)上:DQ2T、DQ3T、DQ4T、DQ5T,以及DQST和DMT

        比如:在DQ5B中,这9个DQ引脚为:Y10,W10,V11,AA8,AA9,AB8,U10,Y8,AB7,以及AB9(DQS)、AA7(DQM)。

        因此,在硬件设计时,应该将这些相应的引脚(8位数据DQ和DQS、DQM)正确分配,至于这8位DQ数据的位置则可以根据布线的方便而相互对调,保证它们在同一区即可(如DQ5B区);而对于其它的DDR2引脚(地址线、控制线等),则可以根据布线的方便而随意分配,但必须保证所有DDR2的引脚都在FPGA的同一个或两个Bank(如Bank3和Bank4,因为有时一个Bank区放不了所有这些引脚)。

        这样做的目的就是为了便于对它们进行统一的VCCIO电压的指定,以及考虑后续PCB布线的方便性,注意该Bank区的VCCIO电压必须指定为1.8V

二、Xilinx xc7a100t

        开始有上电时序的概念。

1、供电电压

(1)、VCCINT

        VCCINT为内核供电,即用于FPGA运行工作。要求供电电源为1.0V±3%;该电源网络命名为VCCINT_1V0;由于VCCINT_1V0电源电流很大,在靠近电源芯片侧,需要放置2个680uF或4个330uF的电容(由于低气压要求,不能使用钽电容),用于储能;另外,每个电源管脚视PCB面积保证至少有1个4.7uF或0.47uF去耦电容。该电源的上电爬升时间要求为0.2ms-50ms。

(2)、VCCBRAM

        RAM电源电压,要求供电电源为1.0V±3%;该电源网络可以直接连接到VCCINT_1V0,VCCINT and VCCBRAM可用同一电源供电。

(3)、VCCAUX

        FPGA辅助电源电压辅助电源,要求供电电源为1.8V1.8V±5%,该电源网络命名为VCC_PL_1V8;保证至少有1个100uF电容,其余每个管脚视PCB面积保证至少有1个100nF去耦电容;该电源的上电爬升时间要求为0.2ms-50ms。

(4)、VCCO

        Bank的IO电源电压,K7芯片有HR和HP两种Bank;

  • HR Bank的VCCO范围是1.2V-3.3V;HP Bank VCCO一般使用1.8V,要求1.8V±5%,该电源网络命名为VCCO_1V8,该电源网络可以直接连接到VCC_PL_1V8;
  • HP Bank的VCCO范围是1.2V-1.8V。HR Bank VCCO一般使用3.3V,要求3.3V±5%,该电源网络命名为VCCO_3V3。
  1. 信号完整性:高速数据传输要求信号在传输过程中的完整性和稳定性。较高的电压可能会导致信号反射和串扰问题,影响信号的完整性,尤其是在高速接口中。因此,为了保持信号的完整性,DDR接口的Bank电压被限制在1.8V。
  2. 电源稳定性:随着数据传输速率的提高,对电源稳定性的要求也随之增加。较高的电压可能会增加电源噪声,从而影响数据传输的稳定性。限制Bank电压有助于减少电源噪声,确保数据传输的可靠性。
  3. 功耗和热管理:高速接口在数据传输过程中会产生较多的热量。限制电压有助于控制功耗,从而减少热量的产生,对于热管理是非常重要的,尤其是在高密度集成的系统中。
  4. 电气特性:DDR内存的电气特性决定了其工作电压。1.8V是一个平衡点,既能满足高速数据传输的需求,又能保持较低的功耗和热产生。此外,这也是DDR内存规范中定义的标准工作电压之一。
  5. 兼容性和标准化:在FPGA和ASIC设计中,Bank电压的标准化有助于提高设计的兼容性和可移植性。1.8V作为一个广泛接受的标准电压,有助于确保不同设备和系统之间的兼容性。

2、供电时序

        VCCINT&VCCBRAMVCCAUX&VCCO_1V8 →VCCO,即VCCINT_1V0VCC_PL_1V8 →VCCO_3V3

        如果有用到DDR,则保持和VCCO_3V3同步即可。

        如图为单个芯片输出多路电源及供电时序设计,例如5V进来后先驱动EN1、EN3,即实现1V、1.8V输出。

        然后1.8V有了电压后驱动EN2、EN4即1.35和3.3V输出。

        同理,较低成本的可以用例如多个电源IC的形式。

3、BANK设计

(1)、时钟

        Xilinx的时钟IO更加多样化,且几乎每个BANK都有例如:MRCC、SRCC。

        MRCC和SRCC都是由外部的时钟驱动,而且MRCC和SRCC的区别就在于MRCC可以驱动BUFMR,SRCC不行。其他基本都一样,它们都可以驱动四个BUFIO、四个BUFR、一个CMT、上下相邻的CMT、16个BUFG和BUFH。

        它们都可以驱动BUFG和BUFH,这就意味着,从MRCC和SRCC进来的时钟都可以access全局时钟树,也就都可以当做全局时钟。

(2)、IO

        几乎所有的引脚都带了IO的前缀。

(3)、差分

        带了P、N的即为差分对,前置Lx即第几对。

(4)、专用

        例如MGT,其采用了专用IO的格式,甚至IO都是固定的。

        MGTBANK(Multi-GigabitTransceiverBank,多吉比特收发器)是XilinxFPGA中的一个重要功能模块,尤其在支持高速通信和串行传输时至关重要。可以把它理解为一个高速串行并行转换器,其串行速率可达几十G。

        它可以将输入的并行数据转换为串行输出,或者将串行数据转换为并行数据。它既可以作为独立的发送装置或接收装置,也可以同时进行发送和接收。此外,用户可以根据需要自定义协议来实现通信,与其他核配合使用,以实现协议通信。不同型号、不同封装的FPGA具有不同数量的MGTBank,传输速度都不一样。

  • 高速IO接口类型:GTP、GTX、GTH、GTY、GTZ、GTM
  • 速率大小为:GTP<GTX<GTH<GTZ<GTY<GTM

http://www.dtcms.com/a/325578.html

相关文章:

  • 邬贺铨院士:AI与数字安全融合是数字化建设核心驱动力
  • 使用TextureView和MediaPlayer播放视频黑屏问题
  • 设计模式(三)——观察者模式
  • 数据结构:串、数组与广义表
  • 使用 Rust 创建 32 位 DLL 的完整指南
  • VoxCraft-生数科技推出的免费3D模型AI生成工具
  • Rust 库开发全面指南
  • Vue 项目中主从表异步保存实战:缓存导致接口不执行问题排查与解决
  • 芯盾时代 SDP 助力运营商远程接入体系全面升级
  • linux实战:基于Ubuntu的专业相机
  • MySQL 8.4.5 中分区相关变量的查看
  • kubeadm搭建生产环境的双master节点k8s高可用集群
  • ubuntu20.04交叉编译vlc3.0.21 x64 windows版本
  • C++ 限制类对象数量的技巧与实践
  • 案例实战,一文吃透 Web Components
  • Docker中ES安装分词器
  • CW32L011 GTIM通用定时器配置
  • 打破内网枷锁!TRAE SOLO + cpolar 让AI开发告别“孤岛困境”
  • ctc 解码原理
  • 正则表达式:文本模式的数学语言与编程工具
  • Selenium经典面试题 - 多窗口切换解决方案
  • redis笔记(二)
  • 排错000
  • 《基于Pytorch实现的声音分类 :网页解读》
  • 基于数据结构用java实现二叉树的排序器
  • Godot ------ 平滑拖动02
  • 使用Springboot实现简单的ELK日志搜索系统
  • 游戏引擎(Unreal Engine、Unity、Godot等)大对比:选择最适合你的工具
  • Godot ------ 平滑拖动01
  • OpenAI COO谈ChatGPT5的技术突破:编程、医疗、自动推理