(微电子学与固体电子学专业论文)mdio接口逻辑设计及其fpga验证.pdf_第1页
(微电子学与固体电子学专业论文)mdio接口逻辑设计及其fpga验证.pdf_第2页
(微电子学与固体电子学专业论文)mdio接口逻辑设计及其fpga验证.pdf_第3页
(微电子学与固体电子学专业论文)mdio接口逻辑设计及其fpga验证.pdf_第4页
(微电子学与固体电子学专业论文)mdio接口逻辑设计及其fpga验证.pdf_第5页
已阅读5页,还剩40页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着集成电路技术的飞速发展,芯片的规模越来越大,集成度越来越高,工 作频率越来越快,但是芯片的设计能力却面临巨大的挑战而m 核的重用则是 解决当今芯片设计所面临问题的最有效的解决方法。 m d i o 接口模块为以太网接口芯片中m a c 层对p h y 器件的控制管理接口。 随着以太网技术的快速发展以及m a c 应用越来越广泛,m d i o 接口模块的应用 也越来越多,因此将m d i o 接口模块设计成可重用的i p 核对于以各种太网接口 集成芯片的设计具有很重要的作用。 本文详细描述了m d i o 接口模块i p 核的设计,介绍了该口核的系统结构以 及各个子模块的详细设计方法,对此m 核进行了仿真验证,最后进行了f p g a 测试,功能和性能达到了要求,最终通过了m 审核流程并且已成功应用于企业 的以太网接口芯片中。 关键词:m d i o 接口口重用仿真f p g a 验证 a b s t r a c t w i t ht h el a r g ed e v e l o p m e n to fi n t e g r a t e dc i r c u i tt e c h n o l o g y , t h ec h i p ss c a l ei s g e t t i n gl a r g e ra n dl a r g e r i n t e r g r i t ya n df r e q u e n c y8 1 0g e t t i n gh i g h e ra n dh i g h e r b u t t h ed e s i g na b i l 时f a c e sab i gc h a l l e n g e 豫i pi c u s ei st h em o s te f f e c t i v em e t h o dt o s o l v et h ep r o b l e mt h a tt h ec h i pd e s i g ni sf a c e dw i t h m d l 0i n t e r f a c em o d u l eb l o c ki sa ni n t e r f a c et h a ti su s e di nm a cl e v e lt oc o n t r o l a n dm a n a g ep h yd e v i c e s w i t ht h er a p i dd e v e l o p m e n to f e t h e r n e tt e c h n o l o g ya n dt h e m a ct ob eu s e dm o r ow i d e l y , t h em d i oi n t e r f a c ea l s oh a sm o r ea p p l i c a t i o n s s oi ti s v e r yi m p o r t a n tf o rm a n yk i n d so fd e s i g n so fe t h e m e ti n t e r f a c ec h i pt od e s i g nt h e h 以d 0i n t e r f a c et oar e u s e a b l ei pc o f e 。 1 1 i cd e s i g no ft h em d i oi n t e r f a c ei sd e s c r i b e di nd e t a i li nt h i st h e s i s f i r s t l y e v e r ys u bm o d u l e ss p e c i f i c a t i o na n dd e s i g nm e t h o da l ei n t r d u c e d , a n dt h e nt h e s i m u l a t i o nr e s u l t so fr = 】几l e v e la r ed e m o n s t r a t e d a tl a s tt h em d l 0i n t e r f a c ei s v e r i f i e db yf p g aa n dt h ef u n c t i o na n dl 僦o n n a n c er e a c ht h er e q u i r e ds t a n d a r d n o w a sa ni pc o r ct h em d l 0i n t e r f a o oi su s e di nt h ec h i po f e t h e m e ti n t e r f a c es u c c e s s f u l l y k e y - w o r d :m d i oi n t e r f a c e i pr e u s es i m u l a t i o nf p g av e r i f i c a t i o n 声明 学位论文创新性声明 秉承学校严谨的学分和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:五查日期2 因1 :z :盔 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容。可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 本人签名:乃当 导师签名: 军经之自 日期圣1 1 :望 日期坌! 12 :如兰了 第一章绪论 第一章绪论 1 1 课题背景及意义 集成电路( i c ) 自五十年代末出现之后,在不到五十年间的时间里,一直以 惊人的速度飞速发展。在这几十年的发展中,制造工艺得到不断的提高,特征尺 寸迅速减小,芯片集成密度不断增加,工作频率不断提高。集成电路技术正迅速 向着更高集成度、超小型化、高性能和高可靠性的方向发展。 早在1 9 6 5 年,我国集成电路产业就已经开始起步,但与国外先进水平的差距 却越来越大在信息产业方面,高附加值信息产品大部分市场都被外国公司抢占, 国内电子信息产业面临严峻的挑战。为了使我国集成电路产业快速赶上国际先进 水平,必须尽快提高超大规模集成电路设计的能力。 近年来,功能块电路知识产权( m ) 化、商品化和标准化的趋势也为我国的 集成电路设计提供了一种快速提高设计能力的方法。 本课题来源于一款预开发的以太网接口芯片。m d i o 是其中的一个接口模块, 主要完成m a c ( 媒体控制访问器) 对以太网p h y 器件进行控制和管理,保证网 络数据的正确和稳定传输。 由于m d i o 接口操作方便,现在已成为i e e e 标准,这也是为什么以太网接 口芯片目前得到了广泛的应用,技术也得到了不断的创新,但每一款以太网接口 芯片还是需要m d i o 接口来对物理层进行控制管理的原因。因此,m d i o 接口模 块最终目标是要变成一个正确稳定且方便移植的i p 软核,为其他类型以太网接口 芯片提供m 重用。 i p 重用是企业保护自主知识产权的必要手段,并且可以极大的提高开发效 率、缩短开发周期,同时增加产品的竞争力。现在,m 重用已日益收到企业的重 视。 1 2 i p 重用介绍 重用,用通俗的话说就是将以前已经做好的设计或别人的设计用于自己的芯 片设计中,而不需对该部分重新设计,而i p ( i n t e l l e c t u a lp r o p e r t y ) 则是指含有一 定智慧产权的设计,虽然它并没有强调可重用性,但通常有非常好的可重用性, 以利于商业应用。 m d i o 接口逻辑设计及其f p g a 验证 1 2 1i p 重用的目的及意义 到目前为止,集成电路的发展基本符合著名的莫尔定律,即平均每隔十八个 月集成度就翻一倍,并且预计在今后十年到二十年间会继续保持这样的发展趋势。 但是与集成度的发展趋势相比,从1 9 8 1 年起,芯片的设计能力就已经不能赶上芯 片集成度的发展了;而到2 0 0 0 年,靠增加有经验的工程师人数也不能满足芯片集 成度的发展了。这种情形很像计算机所面临的问题:计算机硬件处理能力飞速发 展,而软件设计却受到越来越多的挑战。下面是目前集成电路设计行业所面临的 一些基础问题: 1 设计规模越来越大:无线通信、数据以及计算机等的发展要求芯片具有越 来越多的处理能力和越来越快的处理速度,需要芯片进行更多的协议处理,数字 信号处理、图象处理和控制等。规模越来越大的设计将对传统的设计方法提出挑 战。 2 设计周期越来越长:设计规模的增大必然导致设计周期的延长,而时间对 于商用产品是一个致命的因素。因为错过了上市的最佳时机,设计得荐好的产品 也有可能得不到好的利润回报,甚至已经没有市场可言。所以,除了提高设计能 力,设计更大规模的芯片之外,有效缩短设计周期也是芯片设计所面临的很大挑 战。 3 设计质量难于控制 在规模小的时候,我们几乎感觉不到这个问题的存在,但当芯片规模增大以 后,芯片可能已经不是少数几个人共同设计了,每个人清楚的了解每一部分的细 节会越来越困难,设计质量就会越来越难于控制。设计复杂性的增加,又使我们 很难确定芯片是否实现了预想的功能,很难保证芯片中没有致命的b u g 。 4 、开发和升级成本高昂 任何商业行为都需要考虑成本问题。由前面所述的几点可看出,要解决以上 问题,会导致成本大幅度增加,开发费用日益昂贵。怎样有效降低开发成本也是 设计所面临的一个重要问题。 设计重用( d e s i g nr e u s e ) 被认为是解决当今芯片设计工业界所面临的问题的 最有6 日途的解决方案,并且已经得到了广泛的应用。采用设计重用对以下方面都 有很大的作用: 1 设计规模:通过设计的堆加而不是人力的堆加,可更容易作出大规模的设 计,很容易形成复杂系统。 2 。设计周期:因为设计重用的主要工作就是将现有的模块集成起来,而不是 从头设计底层模块,因此可有效地缩短设计周期。 第一章绪论 3 3 、设计质量:因为设计要被广泛的重用,因此重用设计有一套自己的系统来 保证设计质量,使大系统的设计质量可以被有效的控制。 4 、可靠性:设计重用模式下采用的都是已经被验证过甚至是在系统上使用过 的并证明是正确的设计,因此芯片的可靠性大大增强。 5 、成本问题:由于设计可重用,提高了团体的设计效率。购买可重用的模块, 也可节约模块的开发成本。 由以上可知,即重用在提高设计质量、提高生产能力、降低系统成本等方面 起到了非常重要的作用。 1 2 2 i p 的分类 通常职核分为三类:硬核( h a r dc o r e ) 、软核( s o f tc o r e ) 和固核( f i n nc o r e ) 。 硬核指芯片版图,软核为功能经过验证的、可综合的h d l 描述,固核为门级网 表。 硬核提供设计的最终阶段产品一一版图。随着设计深度的加深,后续工序所 需要做的事情就越少,但是,灵活性也会越小。 软核是通过硬件描述语言描述的r t l ( r e g i s t e rt r a n s f e rl e v e l ) 功能模块,它 不涉及用什么电路和电路元件来实现这些功能描述。软核具有设计周期短,设计 投入少等优点。由于不涉及物理实现,就会给后面的设计留出很大的发挥空问, 增强了口的灵活性和适应性。但软核存在一个弱点,即软核在后续的重用当中有 一定的比率会无法适应设计,需要进行一定程度的修改。这就需要设计者在设计 软核时,要全面的考虑到以后实际应用背景。 固核是完成了综合的功能模块,有较深的设计深度,它以网表的形式提交给 客户使用。 1 2 3m 重用设计的主要思想和基本原则 1 高质量的文档输出 完备的高质量的文档是可重用设计的关键,文档中所描述的设计思想、设计 信息、设计方法等也是可重用设计的一部分一般可重用模块的文档中,应包含: 模块图、功能说明、参数描述、接口信号描述、时序图,时序要求、验证策略等【l q 。 2 简单化、局部化 简单、规整的设计易于分析,易于使用不同的工具处理、验证、以及达到延 时要求。越简单的设计越容易发现和解决问题。而使问题局部化,则将有助于缩 短设计时间和提高设计质量 4m d i o 接口逻辑设计及其f p g a 验证 3 良好的设计 这是可重用设计的基础。主要包括:设计的正确性、编码风格的一致性、易 读易更改、充分的注释、可移植性、面向不同应用的参数化等。 4 完全、充分的验证 完全、充分的验证是可重用性的保障,以使得可重用设计具有更高的可信度。 而且,验证也需要有可重用性,以方便用户能很容易的验证所有的功能。验证的 重用包括:良好的验证计划,充分的验证数据和用于重用、易于集成的测试平台 ( t e s t b e n c h ) 。 1 2 4i p 重用设计流程 1 确立功能和划分模块 对要设计的模块需要确定初始的功能,然后提炼细化并划分出模块。 2 子模块定义和设计 在模块划分为子模块后,就要对每一个子模块进行功能的代码描述,着重强 调对其他模块时序和功能的接口。在此期间,应编写每个子模块的t e s tb e n c h , 对其进行验证。 3 模块集成 这一步包括把子模块集成起来,产生顶层设计,并用它来做功能验证和综合。 4 代码验证 整个模块编写之后,先要对其进行代码设计规则检查。保证在进行验证之前, 排除不应有的语法等错误。在验证方面,主要包括r t l 级仿真验证和f p g a 测试 验证。r t l 级仿真验证注重功能方面的验证,f p g a 验证更注重实际条件下时序 的验证。 5 代码综合 综合过程包括验证模块在制造上的可测试性,通常包括校验测试向量的覆盖 率等。 1 3 论文内容安排 本论文主要对m d i o 接口模块i p 核的设计实现进行了详细的介绍,并且详 细描述了代码的r t l 级仿真验证和f p g a 验证,m d i o 接口模块最终达到了i p 核的标准。 全文共分为六章: 第一章绪论:首先介绍了课题的研究背景和意义,接着介绍了口重用,最 第一章绪论 5 后概述了本文的主要工作。 第二章开发工具介绍:介绍了开发m d i o 接口模块i p 核所用到的开发工具 第三章m d i o 接口概述:首先介绍了m d i o 接口模块的应用环境,下来介 绍了一下m d i o 接口协议。 第四章m d i o 接口模块i p 核设计实现:首先介绍了一下m d i o 接口模块的 功能实现和结构框架,下来对划分的各个子模块进行详细的描述,最后对在设计 中所总结的经验进行了介绍。 第五章m d i o 接口模块m 核验证实现:首先介绍了m d i o 接口模块r t l 级 仿真验证的环境和验证方案,之后介绍了m d i o 接口模块的f p g a 验证。 第二章开发工具介绍 第二章开发工具介绍 随着电子技术的发展,当前数字系统的设计正朝速度快,容量大,体积小, 重量轻的访向发展,正是由于这种发展,导致芯片设计在代码的编写周期,正确 性,健壮性,以及资源占用等各个方面的要求越来越高。对于芯片的的设计者来 说,采用效率高,方便好用的开发工具显得尤为重要。 下面主要介绍了在m d i o 接口模快成为i p 核的流程中所用到的开发工具。 这些高效的开发工具,大大的节省了m 核的开发时间。 2 1v e r i l o gh d l 语言介绍 硬件描述语言h d l ( h a r d w a r ed e s c r i p t i o nl a n g u a g e ) 是一种用形式化方法来 描述数字电路和设计数字逻辑系统的语言。它与软件语言( 如c 语言) 最大的不 同点就在于对逻辑的描述中要考虑到逻辑间的时序关系。硬件电路设计者利用这 种语言来描述逻辑时序结构,然后通过e d a ( 电子设计自动化) t 具进行仿真, 自动综合到门级电路,最后再用a s i c 或f p g a 实现其功能t 6 1 硬件描述语言的发展已有二十多年的历史,8 0 年代后期,硬件描述语言向着 标准化的方向发展。目前,v h d l 和v e d l o gh d l 两种硬件描述语言适应了发展 的要求,先后成为了i e e e 标准,下面是v e r i l o g h d l 和v h d l 之间的优势比较1 7 : 1 从推出过程来看,v h d l 偏重标准的考虑,v e r i l o gh d l 则与e d a 工具结 合更紧密; 2 与v h d l 相比,用v e r i l o g h d l 语言编写代码会更加简洁明了、高效便捷; 3 目前市场上所有的e d a 工具都同时支持这两种语言,而在a s i c 设计领 域,v e r i l o gh d l 更占优势。 通过上面的比较,可知v e r i l o g h d l 语言更赢得了众多硬件设计公司的欢迎。 2 2n l i n t 设计规则检查工具介绍 代码编写完之后,需要进行代码的设计规则检查。因为在刚设计完成的代码 中,总是会出现各种各样的错误,包括规则、功能、时序等的错误,而仿真主要 只是对功能来进行验证( 包含简单的时序验证) 。本i p 核采用n l i n t 工具来对代 码设计规则来进行检查。 n l i n t 是n o v a s 公司推出的一款h d l 的设计规则检查工具,可帮助硬件工程 师来定位和修改h d l 代码n l i n t 首先读入h d l 源代码,然后对其进行分析并 8 m d i o 接口逻辑没计及其f p g a 验证 且以报告的形式输出警告和错误,包括错误位置和错误信息。通过设置全面的检 查计划,n l i n t 可自动的识别代码错误,例如门限时钟,所存器等,从而可以避免 使设计者将时自j 浪费在手动查找和修改错误( 尤其是不好找到的笔误) 上,极大 的提高了设计速度。n l i n t 有很多实用的作用,如下: 1 n l i n t 着重加强在命名规则和代码风格方面的检查,来增加源代码的可读 性和丁维护性。因为在i p 重用时,让一个工程师读懂其他人的代码是非常重要的。 2 n l i n t 也检验设计中的时钟域。它会自动的提取设计中的时钟域并且列出 所有跨时钟域的通路。根据时钟域的响应,n l i n t 可检查出这些时钟域的相关规则。 3 n l i n t 为v e f i l o g 提供大约3 0 0 条规则,并且支持5 0 0 条语法检查规则。 4 n l i n t 还提供用户自定义规则( u d r :u s e r - d e f i n e dr u l e s ) 检查。可根据 需要,白行设计规则来进行检查。 5 n l i n t 同时也是一个设备齐全的e d a 工具。它并不需要仿真器,综合器或 其他的e d a 工具就可直接运行。 2 3v e r a 验证语言介绍 随着芯片的复杂度增加,芯片的验证环境、激励也变得更加复杂,验证工作 所占用的时间越来越长。 传统的r t l 验证方法是用v e r i l o g 产生激励,如果遇到复杂的激励,则需要 借助高级语言( 如c 语言) 来辅助产生激励。因为v e r i l o g 最初的目的是用来描 述硬件电路结构的,有限的数据类型使v e r i l o g 很难描述复杂的数据结构、协议、 算法。芯片的外部环境也会变得更加复杂,用v e r i l o g 建模也比较困难。c 语言虽 然可以用来辅助产生激励、描述复杂的数据结构、算法,但它却又没有任何电路 的概念。 v e r a 验证语言则结合了高级语言( c + + ) 和电路描述语言各自的优点。它象 c + + 一样有更高的抽象层次,能描述复杂的数据结构、协议和算法,而且又有电 路的概念,特别适合用于数字通信、电信类芯片开发过程中的仿真激励产生翻。 另外,由于v e r a 是一种专门的验证语言,它又包含了验证工作所要求的特有特点 【4 】: 1 自动激励产生:v e r a 提供了一些内建函数,可用来随机化输入激励。这样 花较短的时间就可覆盖更多的情况,同时又可以对随机化激励加上约束,使随机 化激励的权重侧重一些特定值。 2 覆盖率分析:此覆盖率分析是功能性的,可以检查电路所有状态的翻转是 否都覆盖到,并能自动调整激励,使覆盖率提高。 3 虚拟接口:v e r a 可以把一些信号集中起来,定义成一个虚拟接口,这个虚 第二章开发工具介绍 9 拟接口可以作为参数传递给函数。 4 面向对象的程序设计:使测试平台更易开发、调试、维护、重用。 5 提供了更好的同步和并行处理机制。 6 提供了更好的同步和并行处理机制。 7 增量式编译,可提高运行速度 基于上述优点,m d i o 接口模块验证环境的搭建采用v e r a 验证语言而。 2 4 1f p g a 2 4f p g a 以及q u a m s 开发软件介绍 现场可编程门阵列f p g a ( f i e l dp r o g r a n u n a b l eg a t e ) 器件是x i l i n x 公司1 9 8 5 年首家推出的一种新型的高密度p l d 。它功能很强大,不仅能够实现逻辑函数, 还可以配置成r a m 等复杂形式。由于它的应用大大地方便了i c 的设计和验证, 因而随着数字技术日益广泛应用,f p g a 在生产工艺、器件的编程和测试技术等 方面都有了飞速的发展i l o l 。 f p g a 内部是由许多独立的可编程逻辑模块( c l b ) 组成,逻辑块之间可以灵 活地相互连接f p g a 内部资源可通过布线分割成多个可编程逻辑单元,外部围绕 着可编程i o 单元。逻辑单元由内部资源的连线连接起来实现一定的逻辑功能。 f p g a 的结构一般分为三部分:可编程逻辑块、可编程l ,o 模块和可编程内部连 线f p g a 的结构原理见图2 1 : 图2 1f l e a 结构原理图 本f p g a 验证采用a l t e r a 公司的s t r a t i x 系列产品。s t r a t i x 系列是a l t e r a 予2 0 0 2 年最新推出的产品,该系列芯片的主要特点如下: 1 内嵌三种r a b t 块,即5 1 2 b i t 容量的小型r a i v t ,4 k b 容量的标准r a l v l 1 0 m d i o 接口逻辑设计及其f p g a 验证 4 5 和5 1 2 k b 的大容量r a m ; 内嵌硬件乘法器和乘加结构的d s p 块,适于高速信号处理; 全新的布线结构,分为三种长度的行列布线,在保证延时可预测的同 时增加布线的灵活性; 增加片内终端匹配电阻,提高信号完整性,简化p c b 布线; 增强时钟管理和锁相环功能。 2 4 2q u a t u si i 开发软件 q u a r t u si i 是a l t e r a 公司的新一代开发软件工具,它采用自动化的,完整的集 成设计环境。q u a r t u si i 含有工作组计算、集成逻辑分析功能、e d a 工具集成、 多过程支持、增强重编译和i p 集成等特性。 a l t e r aq u a r t u s l i 主要由设计输入器、设计综合器与功能仿真器、设计实现器 与验证工具组成。q u a r t u s l l 集成了a h e m 设计输入、实现工具和验证工具,它 控制设计流程的所有方面。通过它可以访问不同设计入口和设计执行工具,也可 以访问与设计项目有联系的文件和文档。 a i t e r af p g a 设计的基本方法包括三个步骤; 设计输入使用a l t e r a 支持的原理图、硬件描述语言h d l 或者网表输入 建立设计; 设计实现通过对设计分割、布局、布线,把在设计输入阶段建立的设计 文件转换为位流( b i t s t r e a m ) 文件,以便对a l t e r a 器件编程; 设计验证使用仿真器或者在实际开发板上用a l t e r a 下载电缆加载位流文 件,测试设计,确保实现后的设计能够按照预定的功能和恰当的时序正常工作。 第三章m d i o 接口概述 第三章m d i o 接口概述 本章主要描述了m d i o 接口的应用环境和协议规定,以此为基础可更好的熟 悉掌握m d i o 接口模块的总体结构搭建。 3 1m d i o 接口模块应用环境 图3 1 为m d i o 接口模块的应用环境示意图; 图3 1m d i o 接口应用环境示意图 由图3 1 可看到,m d i o 接口模块用来传输m a c 对p h y 器件的控制管理信 息,它只有两根信号线:管理数据时钟( m d c :m a n a g e m e n td a t ac l o c k ) 和管理 数据信号线( m d i o :m a n a g e m e n td a t ai n p u t o u t p u t ) 。m d i o 接口模块实际上属 于m i i 和g m i i 接口中的一个管理模块【2 】。 m i i ( m e d i u m ) :介质无关接口是m a c 与物理层p h y 器件之间的电气接口, 它为m a c 提供了一种数字逻辑信号m i i 接口有两个独立的数据通路( 接收数 据和发送数据通路,宽度为4 位) 、各个数据通道的控制信号、网络状态信号、各 数据通路的时钟信号以及管理信号( m d i o 和m d c ) 。m i i 接口支持1 0 m 1 0 0 m 速率m a c 1 0 m 和1 0 0 m 模式下工作频率分别为2 5 m h z 和2 5 m h 0 n 1 g m i i ( 干兆介质无关接口) :用于支持1 0 0 0 m 速率m a c 和物理层之间都连 接,是m r 接口的升级协议,对m i i 接口做了些添加和修改:g m i i 中的数据通 路宽度变为8 位,时钟频率变为1 2 5 m h z ,每个时钟周期以1 字节的速率通过 g m i i ,因此具有1 0 0 0 m 的带宽f 2 0 l 。 m a c ( m e d i a a c c e s s c o n t r 0 1 ) :媒体访问控制层作为以太网接口芯片的一个主 要部分,主要完成以太帧的检错和提供可靠的数据通路功能。m a c 通过端口状 态机在通信过程中建立链路并维护链路,m a c 还提供基于冗余循环校验( c r c ) 1 2m d i o 接口逻辑设计及其f p g a 验证 的检错机制和流量控制【u j 。 p h y ( p h y s i c a ll a y e r ) :以太网的物理层p h y 和o s i 模型的第一层( 物理层) 一致,它负责建立传输介质( 光纤或铜线) 和m a c 层的连接,将数据进行光或 电信号的转换。随着以太网技术不断发展,速度不断提高,p h y 器件也得到了飞 速的发展。 m a c 对p h y 器件的控制管理内容包括以下几方面【1 8 l : 1 工作速率 通过m d i o 接口,m a c 可根据需要将p h y 器件配置成自动协商速率模式, 或者固定的1 0 m 、1 0 0 m 、1 0 0 0 m 速率模式。 2 接口设备选择 可通过m d i o 接口配置p h y 器件,支持光纤或者铜线连接物理层设备。 3 工作模式选择 可配置p h y 器件的工作模式:光纤连接的t b i 模式,铜线连接的m i i 、g m i i 等工作模式。还可配置p h y 器件工作在环回工作模式下,帮助问题的定位。 3 2m d l 0 接口协议介绍 在i e e e8 0 2 3 协议中规定了m d i o 接口的应用协议i l 】,协议内容介绍如下: 3 2 1m d c 时钟 m d c 时钟由m a c 来驱动,输出到p h y 器件,作为m d i o 信号线上传输信 息的时序参考。协议中定义了m d c 最小高电平和低电平周期为1 6 0 n s ,m d c 最 大工作频率为2 5 m h z 。但由于以太网的发展,处理速度不断提高,根据需要可 提高m d c 的工作频率。在目前的应用有2 5 m h z ,1 8 m h z 和2 5 m h z 三种。 3 2 2m d i o 串行数据 m d i o 是m a c 与p h y 器件之间的一根双向串行数据线,它用于在两者之间 传输控制信息和状态信息。控制信息由m a c 驱动并与m d c 时钟同步,以便p h y 器件采样。状态信息则由p h y 器件驱动,供m a c 读取 3 2 3 数据帧的定义 在m d i o 上的信息是以数据帧的形式来传送的,这些信息包括:帧前同步码 第三章m d i o 接口概述 ( p i 也) 、帧开始标志( s t ) 、帧操作码c o p ) 、p h y 地址( p i y a d ) 、p h y 寄存 器地址( r e ga d ) 、状态转换域( t a ) 、数据域( d a t a ) 、空闲状态( i d l e ) 。 具体结构如表3 1 所示: 表3 im d i o 接口的数据帧结构 管理帧域 操作 p r es to p y a di 狂i g a dt ad a t ai d l e 读操作l l0 11 0 a a a ar r r r rz 0d d d d d d d d d d d d d d d dz 写操作 l l0 10 la a a a a r r r r rl od d d d d d d d d d d d d d d dz 各域的具体含义如下: 1 p r e :帧同步码,在此状态m a c 会驱动m d i o 向p h y 器件送出3 2 个连 续的“l ”,用于器件的同步通信。但该域并不是必须的,为了提高效率,有些p h y 器件的m d i o 操作就没有此域。 2 s t :帧开始标志,m a c 输出“0 1 ”比特通知p h y 表示帧操作开始。 3 o p :帧操作码,比特“o l ”表示此帧为一次写操作请求,比特“1 0 ”表 示此帧为一次读操作请求。 4 p h y a d :p h y 器件地址,为5 比特位宽。每个p h y 器件都把自己的地 址与这5 个比特进行比较,若匹配则响应后面的操作,若不匹配则忽略掉后面的 操作,5 个比特决定了一个m d i o 接口最多只能支持3 2 个p h y 芯片的配置。 5 p e ga d :p h y 寄存器地址,为5 比特位宽。用来选择p h y 芯片内部的 3 2 个寄存器中的某个寄存器的地址,p h y 为物理层接口,每一个p h y 接口含有 3 2 个1 6 位的寄存器,其中前1 6 个寄存器( 对应地址为5 0 0 0 0 0 0 到5 0 0 1 1 1 1 ) 为 8 0 2 3 协议所规定的必须具有的寄存器,后面1 6 个寄存器为可由厂家指定功能的 寄存器。一般情况下不同的p h y 芯片的前1 6 个寄存器的内容应该一致。 6 1 a :状态转换域,共2 比特。若为读操作,则第l 比特由m d i o 模块送 出高阻态,第2 比特是由p h y 芯片给m d i o 信号置咿若为写操作,则m d i o 信号由m d i o 模块来进行控制,连续输出“l o ”两个比特。 7 d a t a :帧的寄存器数据域,共1 6 比特。若为读操作,则为p h y 送到 m d i o 模块的串行数据,若为写操作则为m d i o 模块送到p h y 的串行数据。 8 i d l e :帧结束后的空闲状态。此时m d i o 无源驱动,处高阻状态,但一 般用上拉电阻使其处在高电平。 第四章m d i o 接口i p 核设计实现 4 1 1 实现目标 第四章m d i o 接口i p 核设计实现 4 1 总体结构与实现目标 m d i o 接口模块的工作流程如图4 1 所示: 图4 1m d i o 接口模块工作流程不意图 m d i o 接口模块实现功能目标如下: 当c p u 对m d i o 摸块内部寄存器配置相应读写操作参数时,m d l 0 接 口模块可较快时间响应c p u 的命令,进行控制信息或状态信息数据的传 输。 上电复位后或者没有c p u 的读,写操作时,m d i o 接口模块工作于对唧 的自动访问状态:这时m d i o 接口模块会周期性的轮询访问各个p h y 的 内部寄存器,并将该p h y 的基本状态( p h y 内部前8 个寄存器) 通过寄 存器的形式进行上报为保证访问过程的稳定性以及可以快速的响应 c p u 的读写操作,在每扫描完p h y 的一个寄存器之后,都会插入一个固 定的等待时间,此等待时间小于一次自动访问的时间。 在每次自动访问的过程中或访问一个寄存器结束后的等待时间问隙中, 判断是否有c p u 的读,写请求。如果没有读,写请求,则继续进行各个p h y 的寄存器的自动轮询访问,并将在访问的过程中将得到的p h y 基本状态 写入到相应的m d i o 接口模块的寄存器中;如果有c p u 读写请求,则 判断是否正在自动访问,如果访问完成,则响应c p u 读,写操作,如果自 动访问未完成,则等待当前的一次自动访问完成后再响应。 m d l 0 接口逻辑设计及其f p ( ;a 验证 每一个标准的p h y 芯片内都含有3 2 个1 6 位寄存器。其中前1 6 个寄存 器( 对应地址为5 h 肚5 if ) 中每一个比特位的功能都是由8 0 2 3 协议所 规定的。协议并没有要求必须实现这类寄存器的全集。后面1 6 个寄存器 中的各个比特位可由厂家自行指定功能,并可根据需要实现全部或者部 分的功能。自动访问操作主要是对p h y 芯片内的前8 个寄存器进行读取 操作,p h y 芯片前两个寄存器的详细描述见附录a 。 t 在m d i o 接口模块中也分配了一些寄存器,包括c p u 进行读写操作所需 的参数配置寄存器组,以及存放读回数据和自动访问获得的基本状态的 寄存器。具体寄存器描述见附录b 。 m d i o 接口模块的处理内容包括了c p u 读操作,c p u 写操作和自动访问各 个p h y 的基本状态。具体处理流程如下: 1 c p u 写操作流程: 向单次写操作寄存器内写入需要对p h y 寄存器配置的1 6 位数值。 向单次操作命令寄存器内写入配置参数,包括:读写位( b i t ) 为0 ,配 置要访问的外部p t t y 器件地址,配置对应p h y 器件内部要访问的寄存 器地址,以及将s 1 a r t 使能置一。 等自动访问结束或以及可以执行c p u 的操作时,m d i o 接口模块会发出 写操作的时序,将相应的数据写到对应p h y 器件内部的相应寄存器中去。 操作完成后,会返回一个单次操作完成信号,该信号会将单次操作命令 寄存器中的s t a r t 比特位清零,表示当前一次的c p u 操作完成,可以 进行自动访问或下一次的c p u 读写操作。 2 c p u 读操作流程 向单次操作命令寄存器中写入配置参数,包括:读写位置一,配置要访 问的外部p h y 器件地址,配置对应p h y 器件内部需要访问的寄存器地 址,以及将使能s t a r t 置一。 等到一次自动访问结束或已经可以执行c p u 的操作时,m d i o 接口模块 就会发出读操作时序。发送的前4 8 比特数据为读操作所需的控制信息, 后1 6 比特数据由p h y 器件驱动送出,此时m d i o 信号为输入信号,输 入数据的顺序为字节高位先入。 m d i o 接口模块将从p h y 器件读出的数据写入到读数据寄存器中去。这 时会产生一个单次操作完成信号,将s t a r t 位清零。通知c p u 可以进 行下一次读,写操作。 3 自动访问p h y 器件基本状态的过程为: 系统复位后或者对p h y 的一次访问结束后,会有1 6 个m d c 周期的等 待时间,在这一时间间隙中如果没有c p u 对p h y 器件的读写操作,则 第四章m d i o 接口l p 核设计实现1 7 进入自动访问过程。 自动访问的轮询机制为:先访问低地址的p h y 器件,每个p h y 器件内 部先访问低地址寄存器。 在自动访问期间,如果c p u 发起了读,写操作,m d i o 接口模块会继续完 成当前的一次自动访问操作,之后才响应c p u 的读,写操作。 在某些应用中,如果不需要自动访问功能,c p u 还可以关闭自动访问这 一功能,节省功耗。 4 、关于单次操作命令寄存器中s t a r t 位的说明: 当s t a r t 位为高时,表示当前c p u 正在通过m d i o 接口模块对p h y 器件 进行读写访问; 当s t a r t 位为低时,表示当前c p u 没有访问p h y 器件或者一次c p u 读, 写访问已经结束; s t a r t 位最一只能由c p u 来配置,而清零操作则是由内部访问完成指示信 号来配置。 4 1 2 总体结构框架 m d i o 接口模块的硬件实现的结构框图如图4 2 所示: 图4 2 m d i o 接口模块结构框图 从上述的功能框图4 2 可以看出,m d i o 模块主要由4 个子模块构成,4 个子 模块的功能分别如下: 1 时钟产生模块( c l kg e n ) :根据输入的参考时钟和分频数产生所需的 m d c 时钟; 2 访问模式选择模块( o pm o d es e l ) :选择是c p u 访问p h y 寄存器, 还是自动扫描蹦y 基本状态; 3 m d i o 接口模块( m d i oi f ) :为m d i o 的核心操作模块,完成m d i o 对 外部p h y 的读写访问操作; 1 8蛐1 0 接口逻辑殴计及其f p g a 验证 4 寄存器管理模块( r e g _ m a n a g e ) :此模块内部分布有m d i o 接口模块 所需的控制和状态寄存器。根据c p u 对内部寄存器的访问操作产生相应的处理, 并且将自动扫描回的数据存入相应寄存器。 4 2 子模块设计实现 4 2 1c l kg e n 子模块设计 时钟产生模块为m i i 接口和p h y 设备之间的管理数据提供串行时钟一一 m d c 。为了满足i p 重用,在以后其他芯片中可以方便的直接应用,所以在时钟 的产生上添加了灵活的处理。即:m d c 时钟的频率由输入的参考时钟分频得到。 分频系数通过8 b i t 分频参数信号线和参考时钟产生。 c l kg e n 模块中还有输出两个脉冲信号:m d cf a l l 和r o d er i s e ,用于 o pm o d es e l 子模块和m d i oi f 子模块。作用是使m d i o 信号线上的控制数 据在m d c 时钟的下降沿更新,在时钟的上升沿保持稳定;而从p h y 器件读回到 状态数据则需要用到m d c 时钟的上升沿来采样。 4 2 2r e gm a n a g e 子模块设计 p e g 子模块作为 的访问接口,为了能够方便兼容各种_ m a n a g e c p u c p u 的应用环境,下面提供了一些模式可供设计者选择,这些模式的选择可通过配置 r t l 代码的宏定义或者配置外部接口信号的方法来完成。但是在某些重用的环境 中不需应用此模块或者已经有c p u 的访问接口模块,也可将此模块删去,直接对 其余子模块的接口信号线进行正确控制即可。 一、c p u 数据线位宽模式 支持3 2 比特,1 6 比特,8 比特三种数据线宽度。此功能由代码的宏定义来配 置。 1 3 2 比特模式:由于m d l 0 接口模块内部寄存器为1 6 比特位宽,所以在 3 2 比特模式下只用数据线的低1 6 比特位。 2 1 6 比特模式:在此模式下,c p u 只需访问一次即可访问内部一个寄存器 的值。 3 8 比特模式:c p u 需要访问两次才能完整的访问一个寄存器。 二、c p u 接口模式,通过配置外部“c p u 接口模式”信号线完成。 支持两种c p u 接口模式:i n t e l 模式和m o t o r o l a 模式,下面是两种模式下, c p u 读写时序图: 第四章m d o 接口i p 核设计实现 i i n t c l 模式,见图4 3 和图4 4 【1 5 l a d m 1 l :o 】 d a t a 1 5 :o 】 - td jc p u d ( i n t e lt r ) t d h 铡n ( i n t e lr v ) d 血h i :o 】 h t a n 5 :o 】 r d ,r 唧口 ( i n l e ll d ) i rd 0c 椰n ( i n t e l ) a 自_ v m d ( 卜一 fl x 图4 3 c p u 读操作时序 蝴v 删d ( 疗1 +j 呐 |; l l t 2 l j矗“j 、, 图4 4 c p u 写操作时序 2 m o t o r o l a 模式,见图4 5 和图4 6 d 血n 1 : d a t a 5 :o 】 l i dv r 唧n 氆o t or v ) c s n v rd sc p u _ n ( 1 0 t o 璐) -a o s s v m ,v 一 ) r -、j j喳l l | l x 一y t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论