fpga as接口设计(fpga常用接口协议)

网友投稿 758 2023-03-06


本篇文章给大家谈谈fpga as接口设计,以及fpga常用接口协议对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享fpga as接口设计的知识,其中也会对fpga常用接口协议进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

FPGA下载模式:AS模式与JTAG模式(jic方式)配置方式有什么不同

AS由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列.如EPCS1,EPCS4配置器件专供AS模式,目前只支持
Cyclone系列。使用Altera串行配置器件来完成。Cyclone期间处于主动地位,配置期间处于从属地位。配置数据通过DATA0引脚送入
FPGA。配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。
JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM
STAPL标准,可以使用Altera下载电缆或主控器来完成。
AS 与JTAG的区别:
AS模式:
烧到FPGA的配置芯片里保存的,FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程;
JTAG:直接烧到FPGA里面的,由于是SRAM,断电后要重烧;
.pof文件可以通过AS方式下载(保证byteblasterII/usb blaster连接正确);
.sof文件或者转换的.jic可以通过JTAG方式下载。

FPGA的AS,JTAG模式的问题

你理解得很正确。
FPGA有两种运行模式,即下载模式和烧写模式。下载模式是在上电的情况下通过JTAG接口直接把程序(Altera平台下是.sof文件,SRAM Object File)下载到FPGA中。因为FPGA是基于SRAM结构的,因此断电后刚刚下载的程序就丢掉了,上电后必须重新下载才可以运行该程序。烧写模式是通过Blaster电缆把编译生成的目标文件(Altera平台下是.pof文件,Programming Object File)烧写到配置芯片中。配置芯片通常是和FPGA配套使用的专用Flash,EPCS后面的数字代表位宽。一旦程序烧到配置芯片中后,在板子上电的时候FPGA就自动从配置芯片下载程序,之后会有一个自动的全局复位(根据约束的上电电平)。
根据上面的说法,.sof文件的大小和FPGA的型号有关,而.pof文件的大小和配置芯片的型号有关。

基于FPGA的百兆以太网RGMII接口设计(读书笔记)

这篇文章的整体架构就是先介绍了百兆以太网的背景fpga as接口设计,百兆以太网又成为快速以太网。再介绍了用FPGA来实现的优点。接着介绍整体的方法和实验,具体介绍了各个模块的作用,并用视频传输作为测试工具,测试结果。

百兆以太网应用场景广,适用于突发通信和继续传送大型数据文件,互换操作性好,具有广泛的软硬件支持。

FPGA是使用逻辑处理专用硬件,无需操作系统,各条处理路径均是并发平行的,因此不同的操作过程不会争夺相同的处理资源,意味着处理速度非常快。FPGA的芯片是Altera的Cyclone IV,PHY芯片是88E1111。

介绍了FPGA芯片EP4CE115F29C7N的功能,并列举了两个方案一是单物理芯片,二是物理层加MAC层继承与同一芯片。本文采用的是第一个方案,采用的芯片是88E1111,并采用的模式是RGMII模式。
系统的整体框架分为上行和下行两个通道,数据通过PHY芯片进入 FPGA,在FPGA中进行数据处理,再送出到PHY芯片传输出去。

preamble_complete模块对前导码进行处理。
4bits_to_8bits将4bits的数据拼接为8bits。
data_processing进行IP和MAC地址替换等操作。
8bits_to_4bits模块将数据拆分成4bits送到PHY芯片输出。

要将88E1111设置为RGMII借口模式,从芯片手册中看到,HWCFG_MODE[3:0]决定了MAC层的接口模式,而HWCFG_MODE[3:0]的值由CONFIG[6:0]来进行映射,因此需要CONFIG4=011,CONFIG5=XX1。并将HWCFG_MODE[3:0]设置为1011,如图所示

说好了配置方法,然后再硬件电路实现

本文的时钟由外部晶振输入的50MHZ作为参考时钟,系统需要的时钟有
1、12.5MHZ以8bit为单位的数据的参考时钟
2、25MHZ以4bit为单位的数据的参考时钟
3、125MHZ时钟来处理数据
4、90°相移之后的25MZH作为参考时钟去产生输出参考时钟CTX_CLK。
这四个时钟都由PLL产生

这是收发时序图。
这个模块主要解决的问题就是前导码的问题,
接收端遇到的问题,首先由于前同步码不是8的整数倍,在拼接成8位时,会产生错位。
如过前导码同步是5_55_55_55_55_55_55,接着是arp的目的地址为FF_FF_FF_FF_FF_FF。那么组成8位就是55_55_55_55_55_55_55_FD,就定位不到5D。
还有一个问题就是在实际观察中,前同步码会有半个周期的0xF。

解决的方法就是使用状态机

分为两个作用,对两组4bits的数据拼接成8bits。
对参考时钟进行转换,从25MHZ转换为12.5MHZ。
拼接部分的RTL图如图

对时钟进行转换只需要通过异步FIFO,以25MHZ写入拼接后的数据,以12.5MHZ读出拼接数据即可。

这模块是核心模块,实现PORT,IP和MAC地址的过滤。使用的时钟是125MHZ,这样的处理速度更快,遇到的问题就是如何将12.5MHZ的时钟转换为125MZH,再将处理完后的时钟转换为12.5MHZ输出数据。
有三个难点fpga as接口设计
1、数据长度的不确定性
2、相邻两个数据包间隔不确定性
3、如何保证转换后数据网络的有效性,即使data信号和DV信号的时序关系

这里采用两级FIFO解决,第一个FIFO用来存储数据,同时记录数据长度,将写完后的数据长度写入第二个FIFO,当第二个FIFO非空时,读出数据的长度,这样就做到了data和DV信号的同步。同理需要讲125MHZ转换为12.5MHZ时,再使用上述模块。

需要将8bits拆分为4bits,输出的参考时钟为25MHZ再进行相移。采用DDIO IP核来实现。该IP核如图

如图输入datain_h为1,输入datain_l为0,输出的信号就是参考时钟相移了90°。

关于CYclone的FPGA的AS模式配置问题

配置芯片用EPCS1,可以是AS模式,也可以通过jtag对EPCS Flash间接编程。一般多用第二种方法。
如果你用的是Quartus软件,首先用File菜单下的“Convert programming files”命令将SOF文件转换成利用JTAG口对EPCSx器件间接编程的文件。
然后下载转换后的文件。

FPGA设计中常用的接口芯片、电路和协议有哪些?

FPGA设计中必须用到的接口芯片是电源管理芯片,别的接口芯片就得根据使用情况来选择了,比如usb phy,spi接口,RS232接口等;要实现这些接口和功能,就需要电路连接,用电源管理芯片给FPGA供电,包括内核电压、IO电压,接口芯片电压,jtag下载电路和电压等;所使用的协议也得根据所使用接口来学习,比如用USB的话,得看看USB协议,用i2c的话,看看I2C协议。 关于fpga as接口设计和fpga常用接口协议的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 fpga as接口设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于fpga常用接口协议、fpga as接口设计的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在线 api 管理(apizhanghi)
下一篇:Angular4编程之表单响应功能示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~