在有线连接的世界里,以太网(Ethernet)无所不在。以太网具有各种速度模式、接口方式、以及灵活的配置方式。现在的以太网卡都是10/100/1000Mbps自适应网卡。以太网的物理层(PHY)通常使用独立的芯片实现,它和FPGA芯片连接的信号分为三组:配置数据(MDIO)控制器,中断控制器,PHY接口。

PHY接口

以太网的MAC和PHY之间的互联采用标准MII接口协议。随着技术的发展该接口协议有不同的变体,包括有:MII,RMII,GMII,RGMII,SGMII。

MDIO控制器

MDIO控制器通过两条串行信号线和PHY芯片互连。MDIO用来读取和修改PHY芯片的参数。

中断控制器

中断控制器负责处理来自PHY的各种中断请求:接收帧指示,发送帧完成,链接配置等。

DMA控制器

DMA控制器通过RAM来缓存接收帧和发送帧,因此可以简化用户端逻辑。

EMAC控制器

EMAC控制器用于实现以太网MAC协议,同时为MDIO模块和中断控制器模块提供一个简化的用户逻辑接口。

用户逻辑

用户逻辑使用自定义总线或者标准的接口协议来连接EMAC和DMA模块。一般采用FIFO和AHB总线接口。

EMAC

FPGA工程师可以通过各种方式将EMAC控制器整合到设计中,可以采用EMAC硬核,软核,以及开源社区的提供的IP核。

参考文献:

[1] 第66则. 以太网IP核. FPGA高手设计实战真经100则. 电子工业出版社. 2013,10.

[2] Ethernet MAC 10/100 Mbps. http://opencores.org/project,ethmac

EMAC IP 核的更多相关文章

  1. 调用altera IP核的仿真流程—下

    调用altera IP核的仿真流程—下 编译 在 WorkSpace 窗口的 counter_tst.v上点击右键,如果选择Compile selected 则编译选中的文件,Compile All是 ...

  2. 调用altera IP核的仿真流程—上

    调用altera IP核的仿真流程—上 在学习本节内容之后,请详细阅读<基于modelsim-SE的简单仿真流程>,因为本节是基于<基于modelsim-SE的简单仿真流程>的 ...

  3. (转)modelsim10.0C编译ISE14.7的xilinx库(xilinx ip核)

    原地址modelsim10.0C编译ISE14.7的xilinx库(xilinx ip核)   1.打开D:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\compxlibgui.e ...

  4. Lattice 的 DDR IP核使用调试笔记之DDR 的 仿真

    —— 远航路上ing 整理于 博客园.转载请标明出处. 在上节建立完工程之后,要想明确DDR IP的使用细节,最好是做仿真.然后参考仿真来控制IP 核. 仿真的建立: 1.在IP核内的以下路径找到以下 ...

  5. Lattice 的 DDR IP核使用调试笔记之工程建立

    DDR3的IP核的使用相当重要,尤其是对视频处理方面. 下面接收DDR3 的IP 核的生成步骤. 1. 选择DDR IP核的生成路径.名字以及哪种语言之后就可以设置DDR IP 的参数了. 2.选择存 ...

  6. Lattice 的 Framebuffer IP核使用调试笔记之IP核生成与参数设置

    本文由远航路上ing 原创,转载请标明出处. 这节笔记记录IP核的生成以及参数设置. 先再IP库里下载安装Framebuffer 的ipcore 并安装完毕. 一.IP核的生成: 1.先点击IP核则右 ...

  7. Lattice 的 Framebuffer IP核使用调试笔记之datasheet笔记

    本文由远航路上ing 原创,转载请标明出处. 学习使用以及调试Framebuffer IP 核已经有一段时间了,调试的时候总想记录些东西,可是忙的时候就没有时间来写,只有先找个地方记录下,以后再总结. ...

  8. modelsim10.0C编译ISE14.7的xilinx库(xilinx ip核)

    1.打开D:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\compxlibgui.exe,nt64表示系统是64位,如果是32位,换成nt,然后按照界面所示一步一步执行, 2.修改 ...

  9. 如何使用和了解ALTERA的IP核

    可以通过直接对IP核进行仿真验证,通过波形来分析IP核的功能和工作方式,以及各个寄存器之间的工作关系. 也可以通过查看用户指导手册来学习IP核,如下图.

随机推荐

  1. jdk8新特性Stream

    Stream的方法描述与实例 1,filter  过滤 Person p1 = new Person(); p1.setName("P1"); p1.setAge(10); Per ...

  2. 自己封装的Ajax - JavaScript

    1. [代码][JavaScript]代码      //javascript Object: ajax Object//Created By RexLeefunction Ajax(url,data ...

  3. windows下运行swoole搭建环境

    swoole windows环境搭建 swoole框架是一个很神奇很厉害的框架,它弥补了PHP的本身的一些不足之处.其实swoole确切的说是一个使用C语言编写的PHP扩展,并且这个扩展不能够在win ...

  4. NOIP2007普及 守望者的逃离

    传送门 普及组的题目……很水. 原来写了一个模拟不过好像状态考虑的不全得了80,这次我们考虑一下dp做法. 守卫者有两种移动的方法,一种是闪现,一种是跑,我们可以把闪现和跑分开处理. 首先只处理闪现的 ...

  5. 如何生成Android的keystore文件

    步骤   1 找到本机电脑上jdk安装的目录,使用cmd命令打开命令窗口,输入cd  jdk目录(替换成你的jdk的bin目录),进入到jdk的bin目录,接下来你才可以使用jdk的命令进行操作 步骤 ...

  6. 【旧文章搬运】Windows句柄表分配算法分析(一)

    原文发表于百度空间,2009-03-30========================================================================== 阅读提示: ...

  7. Bootstrap Notify

    https://github.com/mouse0270/bootstrap-notify $.notify('Hello World', { offset: { x: 50, y: 100 } }) ...

  8. windows下patch

    经常在网上看到有人发布patch文件来更新他们的开源代码,例如cegui.ogre等都使用这种形式来修bug或者增加一些小功能.但是,我们下载到的patch文件,貌似是linux/unix的diff工 ...

  9. NYOJ8——一种排序

    一种排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:3  描述:现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数: ...

  10. 天空盒的制作方法 Max来生成天空盒的六张图片

    在虚拟现实技术中,需要产品展示,场景漫游等,只要想在内部有一个虚拟的3D天空,那么都要用到天空球:天空球目前基本做法主要有两种:分别是正方形的和球形的. 目前360度全景图主要用的是球形的,针对目前已 ...