FPGA服务器硬件搭建涉及的知识点5

来源:互联网 发布:隐藏js代码 编辑:程序博客网 时间:2024/06/16 07:01

这里提醒一下,如果你的想上osii操作系统的话,timer是必须要加的,而且必须要给timer分配中断,不然会出现下面这样的错误:

DescriptionResourcePathLocationType make: *** [hello_osii.elf] Error 1hello_osii C/C++ Problem

解决的办法就是给timer分配一个中断。

说完了IP核的,再来说说这个MAC芯片88E1111和生成的软核系统的连线。

我把MAC芯片配置成RGMII模式;

MAC芯片和软核的连线框图:这个图在官方手册ug_ethernet.pdf上


时钟问题:由图可知,rx_clk是由mac芯片提供,但是gtx_clk和tx_clk需要分别提供125mhz。

这个gtx_clk比较特殊,88E1111手册上有关于rgmii模式下的gtx_clk的描述:


翻译:在RGMII模式下,TXD[3:0]用作TD[3:0]; TXD[3:0]工作在双数据速率下,GTX_CLK高电平采集bit[3:0]

低电平采集bit[7:4],TXD[7:4]位被忽略。

换句话说发送的时候时钟的高低电平都会有数据传输,那么这个GTX_CLK就需要被提供双数据速率的时钟。

那这种双速率的时钟怎么提供呢?

     添加叫ATLDDIO OUT的ip核。

    在手册ug_altddio.pdf上文章标题就是Double Data Rate I/O (ALTDDIO_IN, ALTDDIO_OUT,
and ALTDDIO_BIDIR) IP Cores User Guide

即双速率接口。

   The ALTDDIO_OUT IP core transmits data on both edges of the reference clock;手册上给它的定义。

    ALTDDIO ip核可以提供双速率数据的输出时钟。

    关于这个核接口更详细的解释自己去看手册。


PHY Management (MDIO)连接问题:

ug_ethernet.pdf手册上有解释什么是MDIO,如果想访问外部的PHY部件并连接MAC功能就要在配置三速以太网的时候选中这选项,当不选中时IP核就不会包括MDIO的接口逻辑或信号。这个时候你需要额外的添加这个MDIO的核。

有一点应该注意,MDIO的频率<=2.5MHZ,

在配置三速以太网时这个选项是默认等于40,系统时钟100MHZ,Host clock divisor=40,主机时钟分频40,就是100/40=2.5mhz,刚好不超过2.5mhz,这是这个选项默认40的原因。


关于MDIO的连接:


这就要用到一个ip核叫做:LPM_bustri

这个核可以创建单向和双向的总线控制器。可以去看手册《LPM quick reference guide》去看具体的描述。


LPM_WIDTH设置为1,比照着图连线就可以了。


复位问题:

复位有:nios软核复位,mac复位,cfi-flash的复位。

我记不清是在88e1111还是在三速以太网的手册上有说过,mac复位不能立即复位,要等nios系统复位之后再复位,复位信号要持续一小段时间,目的是让mac准确复位。

所以你的*.bdf文件中还要添加一个复位延迟的模块,这个模块是由*.v文件生成的,复位延迟代码自己写,也可以联系我跟我要。

来个全面直观的感受:



软核部分就先说到这,下面是eclipse工程web server(rgmii)模板的修改。

1 0