基于FPGA的千兆以太网交换芯片的设计_柳利军

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

兆以太网中的关键芯片。文章介绍了一种基于 FPGA 的 8 端口千兆以太网交换芯片的实现方案, 并且给出了仿真
验证结果。结果表明, 该设计方案是可行的。
关键词: 千兆以太网, 二层交换, FPGA
中图法分类号: TP393.11
源自文库文献标识码: A
文章编号: 1000- 7180( 2006) 03- 02
芯 片 内 部 有 一 个 容 量 为 108k 字 节 的 双 端 口 SRAM, 用于缓存 接 收 到 的 MAC 帧 , 内 存 管 理 模 块 负责该 SRAM 存储空间的分配、释放和读写控制。
芯 片 内 部 核 心 部 分 工 作 时 钟 频 率 为 125MHz, 端口有可能会接在 100Mb/s 或 10Mb/s 的网段上, 此 时接口的工作时钟为 25MHz, 因此需要一个接口缓 存模块来缓存数据。该模块包含 8 个接收 FIFO 和 8 个发送 FIFO, 分别对应于 8 个 GMII/MII 端口。
36 字节) , 将其和 MAC 帧的帧头、帧尾标识以及帧 有效信号提供给交换处理模块。交换处理模块处理 完成后, 会返回发送描述符, MAC 帧处理模块根据 描述符读出 SRAM 中的 MAC 帧, 缓存在描述符指 定的与发送端口对应的发送 FIFO 中。在检测到发 送允许信号后, 生成 MAC 帧, 发送到 GMII/MII 口。 发送完成后, 发送给内存管理单元释放使能信号。
80
微电子学与计算机
2006 年第 23 卷第 3 期
基于 FPGA 的千兆以太网交换芯片的设计
柳利军 1 熊良芳 2
( 1 武汉科技大学城建学院, 湖北 武汉 430070) ( 2 中兴通讯股份有限公司 IC 开发三部, 广东 深圳 201203)
摘 要: 千兆以太网( Gigabit Ethernet) 技术目前被广泛应用于局域网中, 千兆以太网二层( MAC 层) 交换芯片是千
A Design of Switch Chip for Gigabit Ether net Based on FPGAs
LIU Li-jun1, XIONG Liang-fang2
( 1 College of Urban Construction, Wuhan University of Science and Technology, Wuhan 430070 China) ( 2 Three Department of IC Development, ZTE Corporation, Shenzhen 201203 China)
参考文献
[1] 林 敏 等. 一 种 简 单 实 用 的 频 率/电 流/电 压 转 换 器. 仪 表
技术与传感器, 1998,10: 1~3
[2] 缑新科. 一种集成电流- 频率转换器电路的研究. 甘肃工
业大学学报, 1994, (4): 1~3
[3] 万 天 才. AD650 电 压 频 率 与 频 率 电 压 转 换 器. 国 外 电 子
千兆以太网二层( MAC 层) 交换芯片是千兆以 太网技术得以实现的关键芯片。使用它可以用来连 接 多 个 不 同 局 域 网 ( Local Area Network LAN) 的 网 段, 扩展局域网覆盖的区域; 可以实现 1000Mb/s 网 段、100Mb/s 网段和 10Mb/s 网段之间的互连, 使建 立混合速率的局域网成为可能; 可以将局域网络流 量限制在局域网的有限部分来提高性能[2]。
学习转发控制模块根据接收到的帧头信息查 询 MAC 地址表, 查询的过程遵照 HASH 算法。如果 发现是新的 MAC 源地址, 则通知端口记录模块刷 新 MAC 地址表, 完成“学习”过程。这个模块同时依 照 HASH 算法, 根据目的地址查找 MAC 表, 得到对 应目的地址的端口号, 并且通知端口记录模块完成 “转发”过程。同时, 学习转发控制模块还会根据帧 头信息写 VLAN 表, 当工作状态设定为支持 VLAN 时, 读取 VLAN 信息, 发送到端口记录模块。
收稿日期: 2005- 04- 08
芯片中包含一个 MAC 地址表, 地址表的每个 存 储 单 元 为 一 条 如 表 1 所 示 的 72 比 特 的 MAC 地 址 索 引 信 息 。MAC 地 址 表 一 共 可 以 存 储 4096 条 MAC 地址索引信息。
表 1 MAC 地址索引信息结构表
(下转第 84 页)
84
微电子学与计算机
2006 年第 23 卷第 3 期
率曲线如图 3 所示。
4 结束语 由 于 组 成 积 分 器 的 斩 波 稳 零 运 放 ICL7650 具
有极低的失调电压和漂移, 使得积分器的零位和积 分电压漂移都很小, 从而使该 I/F 转换器有着良好 的性能。经测试转换器基本没有零位漂移, 在输入 电流- 70mA~70mA 范围内对称性良好, 非线性度好 ( 可达万分之一) , 频率范围宽,具有较广泛的使用价 值. 可广泛用于导航、雷达、遥控遥测、模拟信 号 传 输、数据采集和通讯系统、现代导航系统等领域。
1 引言 以太网技术是当今应用最为广泛的网络技术,
千兆以太网技术继承了以往以太网技术的许多优 点, 同时又具有许多新的特性, 例如传输介质包括 光纤和铜缆, 使用 8B/10B 的编解码方案, 采用载波 扩展和分组突发技术等。正是因为具有良好的继承 性和许多优秀的新特性, 千兆以太网已经成为目前 局域网的主流解决方案[1]。
RS232 接口是芯片与用户的接口, 通过该接口, 用户可以读取寄存器的值了解芯片的工作状态, 可 以配置寄存器来调整芯片的工作模式。
MAC 帧处理模块主要实现 MAC 帧的接收和发 送 功 能 。GMII/MII 口 接 收 到 MAC 帧 数 据 后 , MAC 帧处理模块先将其缓存在接口帧缓存模块中的接 收 FIFO 中, 并请求内存管理模块分配缓存空间, 得 到内存管理模块的回复后, 将 MAC 帧存储到分配 的存储空间, 同时提取出帧头( 从目的地址开始的
2 工作原理 本 文 介 绍 的 千 兆 以 太 网 交 换 芯 片 按 照 IEEE
802.3[3]标 准 实 现 了 8 个 独 立 千 兆 端 口 之 间 的 MAC 帧交换[4], 同时向下兼容 10Mb/s 和 100Mb/s 的 MAC 帧交换 。 其 最 基 本 的 工 作 原 理 可 概 括 为 “学 习 转 发”, 它包括“学习”和“转发”两个部分。
交换处理模块是整个芯片的核心模块, 帧头信 息 提 取 和 MAC 地 址 表 的 管 理 都 在 这 个 模 块 中 实 现, 其结构框图如图 2 所示。
3 FPGA 实现 整个交换芯片的结构框图如图 1 所示, 整个交
换芯片由接口帧缓存、MAC 帧处理模块、交换处理 模块、内存管理模块、寄存器以及 RS232 接口组成。
4 结束语 通过上述分析和仿真验证, 可以看出本文介绍
的千兆以太网二层交换芯片的设计方案是可行的。 本 设 计 已 经 采 用 ALTERA 公 司 STRATIX 系 列 的 EP1S80 芯片实现。设置 8 个端口工作模式为千兆全 双工模式, 采用以太网测试仪 SmartBits 6000C 进行 性能测试, 结果为 10 分钟 8 端口 1000Mb/s 测试丢
Abstr act: Gigabit Ethernet technology is widely used in Local Area Network (LAN) recently, Layer 2 (MAC) switch chip is the key chip based on which Gigabit Ethernet technology can be used. In this paper, a method that implements 8 ports Gigabit Ethernet switch chip on FPGA is introduced, and the simulation and verification results are given. Key wor ds: Gigabit Ethernet, Layer 2 Switch, FPGA
从 端 口 接 收 到 一 个 要 求 转 发 的 MAC 帧 后 , 提 取 MAC 帧中的目的地址, 并在 MAC 地址表中查找 与之对应的条目, 从中得到目的地址对应的端口 号, 将 MAC 帧 转 发 到 相 应 的 端 口 , 这 个 过 程 为 “转 发”。
芯片设计的关键技术在于 MAC 帧的帧头信息 提取和 MAC 地址表的管理。对于帧头信息的提取
71 ̄ ̄53
52
51 ̄ ̄49 48 ̄ ̄1

保留比特 老化标志 端口编号 MAC 地址 有效标志
端 口 接 收 到 MAC 帧 后 , 提 取 MAC 帧 的 源 地 址, 并在表中查找与之对应的条目, 如果没有找到, 就把源地址和接收到该帧的端口编号捆绑成一条 新的 MAC 地址索引信息, 存储到 MAC 地址索引表 中, 这个过程为“学习”。通过学习, 就可以知道主机 的地址和端口的映射关系。有时, 还需要记录 VLAN 和端口的对应信息, 建立 VLAN 索引表。
光功率控制. 应用天地, 2004, (8): 1~2

" !(Ki- K )
S=
i=1
n- 1
/ K ×100%
[6] 孙肖子 等. 模 拟 电 子 技 术 基 础. 西 安: 西 安 电 子 科 技 大 学出版社, 2002
根 据 测 试 数 据 计 算 在 0 ~+70mA 范 围 内 , S= 李 莺 女, 硕士研究生。研究方向为专用集成电路设计。
0.07‰, 在- 70mA~0 范围内, S=0.04‰。
耿增建 男, 研究员。研究方向为专用集成电路设计。
#############################################
(上接第 81 页)
SRAM 存储空间。
设 计[J]. 电 气 电 子 教 学 学 报, 2004, 26(2): 57 ̄61. [2] Sidnie Feit. 组 网 用 网 : 高 速 局 域 网 [M]. 北 京 : 电 子
端口记录模块要处理 8 个端口接收到 MAC 帧 的实际转发工作。根据学习转发控制模块给出的转 发端口号、VLAN 以及优先级等信息, 生成用于发送 的端口信息, 提供给发送描述符模块。发送描述符 模块根据得到的信息生成发送描述符, 发送到 MAC 帧处理模块, 完成转发操作。
发送指示信号根据端口记录模块发来的处理 完成信号, 以及描述符发送完成信号生成发送到内 存管理的处理完成信号, 内存处理单元根据这个信 号 和 来 自 MAC 帧 处 理 单 元 的 释 放 使 能 信 号 释 放
帧头信息分析模块接收到 MAC 帧处理模块送 来的 帧 头 信 息 后 , 提 取 出 目 的 地 址 、源 地 址 、VLAN 以及 IP 头中的优先级等信息, 并将其转发到学习转 发 控 制 模 块 。 并 根 据 帧 头 、帧 尾 以 及 帧 有 效 信 号 产 生帧状态指示信号发送到端口记录模块。
2006 年第 23 卷第 3 期
微电子学与计算机
81
包括判断是以太网帧还是 802.3 帧, 提取源地址和 目的地址、VLAN 信息和一些 IP 帧头信息, 计算当 前帧的优先级, 根据不同的帧头信息进行相应的协 议处理等。
为了实现 1000Mb/s 的 MAC 帧交换, MAC 地址 表必须满足三个要求: 必须能在几个时钟周期内查 找到 MAC 地址相应的端口号, 以满足千兆以太网 需求的高吞吐量; 必须及时 “学习”到新 MAC 帧的 地址索引信息; 老化掉长时间没有访问到的 MAC 地址索引信息。为了达到这些要求, 本芯片中采用 了 HASH[5]算法。
元器件, 1999, 7(7): 2~3
[4] 崔 小 欣. 一 种 数 字 种 频 上 变 频 器 的 设 计 与 实 现. 微 电 子
学与计算机, 2006, 23(1): 1 ̄5
[5] 王 辉 等. 基 于 斩 波 自 动 稳 零 运 算 放 大 器 的 激 光 器 平 均
⑵ 计算非线性度 S 的公式如下:
相关文档
最新文档