"); //-->
椰蓉是什么| 霍山石斛有什么作用| 右眉上方有痣代表什么| 羊膜囊是什么| 鼻甲肥大是什么原因| b型血rh阳性是什么意思| 越什么越什么的词语| 长期干咳无痰是什么原因引起的| 吃什么药能让月经推迟| 地素女装属于什么档次| 咬指甲是什么心理疾病| 风寒感冒和风热感冒有什么区别| 什么品种的榴莲最好吃| 水杯什么材质好| 女性白细胞高是什么原因| tao是什么意思| 瞑眩反应是什么意思| 手术室为什么那么冷| 空调不制冷是什么原因| 雄字五行属什么| 贵人相助是什么意思| 尿素测定是查什么| 尿糖阴性什么意思| 才高八斗是什么意思| 血钾查什么项目| 花甲炒什么配菜好吃| 上大厕拉出血是什么原因| 说女人强势是什么意思| 6月9日是什么星座| 充电宝充电慢是什么原因| 无声无息是什么意思| 理数是什么意思| 五月十四号是什么情人节| 骨折吃什么恢复快| 95年猪是什么命| 由可以组什么词| mh是什么意思| 总爱放屁是什么原因| 下腹痛挂什么科| 拿铁和美式有什么区别| 胡子为什么长得快| st什么意思| 端午节安康是什么意思| 岁月从不败美人什么意思| 流虚汗是什么原因| 停经闭经吃什么药调理| 如你所愿是什么意思| 什么叫轻断食| 肾上腺素高会导致什么| 7月15是什么星座的| 武将是什么生肖| 尖锐湿疣的症状是什么| 益母草有什么功效| 十月一日是什么节| 童字五行属什么| 不思量 自难忘什么意思| 86年属什么的生肖| 金字旁加匀念什么| 米酒是什么酒| 白细胞酯酶阳性是什么意思| hc2是什么检查| 18罗汉都叫什么名字| 有趣的什么填空| 心电图t波改变是什么意思| 风疹是什么| 迅速的反义词是什么| 动物园里有什么游戏| 唠嗑是什么意思| 补肾壮阳吃什么效果好| 肺部积水是什么原因引起的| 拉屎酸臭是什么原因| 奥特曼有什么| 蔻驰和古驰有什么区别| 睾丸痒用什么药膏最好| cg什么意思| 什么的哭声| 蚊子会传染什么病| 健脾养胃喝什么好| 耳朵响是什么原因| 茄子炒什么好吃又简单| 钢琴10级是什么水平| 牛肉什么馅的饺子好吃| rag是什么意思| 失代偿期是什么意思| 话赶话是什么意思| 天天喝豆浆有什么好处和坏处| 胃肠道功能紊乱吃什么药| 猫咪吐黄水有泡沫没有精神吃什么药| 辣椒炒什么好吃| 糖尿病能吃什么零食| 喝苏打水有什么好处和坏处| 邵字五行属什么| 儿童荨麻疹吃什么药| 民考民是什么意思| 孕妇可以吃什么鱼| 缺铁性贫血严重会导致什么后果| 肛门周围痒是什么原因| 冬至节气的含义是什么| hepes缓冲液是什么| 多吃丝瓜有什么好处和坏处| 什么是石女| 病毒性发烧吃什么药| 梦见自己请客吃饭是什么意思| 什么叫吐槽| 什么是鬼压床| 西瓜为什么是红色的| 青玉是什么玉| 味美思是什么酒| 成吉思汗属什么生肖| karen是什么意思| 化验血常规能查出什么| 抗宫炎软胶囊主要治什么| 肠癌吃什么| 免疫球蛋白是什么东西| 高傲什么意思| 圆脸适合什么短发| 生气容易得什么病| 界代表什么生肖| 黑胡椒和白胡椒有什么区别| oof是什么意思| 欢乐海岸有什么好玩的| 熠字五行属什么| 伤春悲秋什么意思| camouflage什么意思| 一什么香蕉| 怀孕吃什么水果比较好| 葡萄什么时候传入中国| 蝴蝶长什么样| 裸睡是什么意思| 3月17日什么星座| 尿不净是什么原因| 海带有什么营养| 满族不吃什么肉| 婴儿头发长得慢是什么原因| 七月十八是什么日子| 梦见自己怀孕生孩子是什么意思| 舌头辣辣的是什么原因| 梦见老公穿新衣服是什么意思| 麟字五行属什么| 狗下崽前有什么征兆| 透明的什么| 电脑一体机什么牌子好| 值神天刑是什么意思| 什么入胜| 缘分使然是什么意思| 繁花似锦什么意思| 什么品牌油烟机好| 风疹病毒抗体偏高是什么意思| 今天冲什么生肖| 抽油烟机买什么样的好| 淋巴清扫是什么意思| 鼻窦炎都有什么症状| 无与伦比是什么意思| 晚上兼职可以做什么| 小狗感冒症状是什么样的| 酮体是什么| 大学体检都检查什么| 手脚发胀是什么前兆| 谷丙转氨酶偏高是什么原因| 马跟什么相冲| 男人说冷静一段时间是什么意思| 正太是什么| 羊肉炖什么好吃又营养| 什么是大麦| 什么是淋病| 吃止痛药有什么副作用| 男人经常熬夜炖什么汤| 半什么半什么的成语| 血钾低会有什么症状| 老年人出现幻觉是什么原因| 免职是什么意思| 肋骨骨折挂什么科| 舌根放血有什么好处| logo是什么| 牛柳是什么肉| 吃石斛有什么功效| 10月22日是什么星座| 红眼病不能吃什么东西| 兔女郎是什么| 83年是什么年| 人为什么会出汗| 被舔下面是什么感觉| 女生没有腋毛代表什么| 114514什么意思| 服了是什么意思| 吃飞醋是什么意思| 牙龈红肿是什么原因| 梦见别人怀孕是什么意思| 吃什么去胃火口臭| 琉璃和玻璃有什么区别| 梦见家里着火了是什么征兆| 小腿细是什么原因| 红艳煞是什么意思| 脚心痒是什么原因引起的| 什么是扁桃体| 咽喉痛吃什么药好得快| 老婆生日送什么鲜花| 幽门螺杆菌是什么引起的| 别出心裁是什么意思| 虫加合念什么| 牙根发炎吃什么药| 自卑什么意思| 属鸡的是什么命| 碘伏有什么作用| 猫在风水上代表什么| 海绵是什么材料做的| 包皮痒用什么药| 健脾去湿吃什么药| 被弹颏是什么意思| 人流挂什么科| 肾素活性高是什么原因| 什么快递最便宜| 做b超需要挂什么科| 低血糖是什么| 长疮是什么原因| 孕妇可以吃什么| 少校什么级别| 母亲节送什么| 什么叫阴虚| 空气炸锅可以做什么| vc什么意思| 通透是什么意思| 头皮痒掉发严重是什么原因| 白天不咳嗽晚上咳嗽吃什么药| 碳酸钠是什么| 吃什么能治疗早射| 什么叫射线| 黑匣子是什么意思| 赛脸是什么意思| 爱做梦是什么原因| 骨折什么症状| 猪肝吃多了有什么坏处| 口扫是什么| 词又被称为什么| sds是什么意思| 为什么水不能燃烧| 全国劳动模范有什么待遇| 阴桃花是什么意思| 六亲不认什么意思| 四月二十六是什么星座| 一直不射精是什么原因| 甲亢和甲减有什么区别| 口干舌燥是什么病| 豆干和什么炒好吃| 神经性头痛吃什么药| 五十坐地能吸土是什么意思| 类风湿要吃什么药| 一什么野菜| coolmax是什么面料| 眼睛发粘是什么原因| 什么食物维生素b含量高| 什么是伤官见官| 用黄瓜敷脸有什么功效| 有妇之夫是什么意思| cfa是什么证书| 灰指甲用什么药治疗| 为什么会尿频| 割包皮属于什么科| 指甲上有竖条纹是什么原因| 88年五行属什么| 脾肺气虚吃什么中成药| 什么鸡没有翅膀| 什么地走| 做梦梦到钓鱼是什么意思| 百度随着FPGA在数据中心加速和Smart NIC在SDN和NFV领域的广泛应用,基于以太网接口的FPGA开发板越来越受到关注。而更高速率的以太网接口技术则是应用的关键,本文将详细介绍基于FPGA的10G以太网接口的原理及调试技术。欢迎留言讨论。
10G以太网接口简介
1、10G以太网结构
10G以太网接口分为10G PHY和10G MAC两部分。如下图所示。
本设计中使用了Xilinx公司提供的10GEthernet PCS/PMA IP核充当连接10GMAC的PHY芯片,然后将该IP核约束到光模块上构建完整的物理层。需要说明的是本设计主要是完成以太网二层逻辑设计,不涉及PHY层的逻辑设计,如:bit同步、字节同步、字同步、64b/66b编解码等。
2、10G以太网接口PHY
10G EthernetPCS/PMA的整体结构如图5.2所示,其核心是基于RocketIO GTH/GTX来实现的。从图中可知,该模块分为PCS层和PMA层,对于发送数据,PCS层主要功能是对数据进行64B/66B编码、扰码、发送变速等功能。同时在测试模式下还提供了一个测试激励源,用于对链路进行检测。PMA层的主要功能是提供并串转换、对串行信号进行驱动并发送等功能。对于接收数据,PMA层的主要功能是将接收到的高速差分信号进行串并转换、bit同步、时钟恢复等功能,PCS层对于从PMA层接收到的数据进行块同步、解扰码、64B/66B解码、弹性缓存等。同时在测试模式下还提供测试激励检测功能,用于检测链路工作状态。
在接口调试过程中,可能用到PMA层的近端环回和远端环回功能。PMA近端回环,用于测试IP核内部自回环;PMA远端回环,用于将接收到的远端10G PHY发送的的数据在PMA层直接回环发送给远端10G PHY,而不经过本地的PCS层。
3、10G以太网接口时钟布局设计
由于10G Ethernet PCS/PMA是Xilinx官方提供的一款IP核,所以我们需要做的工作是结合开发板的实际情况,为该IP核以及其他模块设计合理的时钟电路,使其能够正常工作。本文选用Xilinx VC709开发板作为上板调试的硬件平台,因此我们的时钟布局需要充分考虑此开发板的结构来设计,具体的时钟布局如图5.3所示。
由于VC709开发板连接光模块的Quad并没有直接输入的参考时钟,而是连接到一对SMA接口,因此我们将156.25Mhz晶振产生的时钟经过FPGA内部的IBUFDS、OBUFDS驱动后输出到另一对SMA接口,并通过同轴电缆将两对SMA接口互联,从而使连接光模块的Quad具有输入参考时钟。
对于FPGA内部的时钟布局主要分为以下4部分:
(a)输入的差分参考时钟经过一个参考钟专用缓存(IBUFDS_GTE2)变为单端时钟refclk,然后将refclk分为两路,一路接到QPLL(QuadraturephasePhase Locking Loop),另一路时钟经过一个BUFG后转变为全局时钟coreclk,继续将coreclk分为两路,一路作为10G MAC核XGMII接口的收发时钟(xgmii_rx_clk和xgmii_tx_clk),另一路用于驱动10G Ethernet PCS/PMA IP核内部用户侧的逻辑。
(b) 对于QPLL输出的两路时钟qplloutclk和qplloutrefclk,主要是用于IP核内GTH收发器使用的高性能时钟,其中qplloutclk直接用于驱动GTH内发送端的串行信号,其频率为5.15625GHz。qplloutrefclk用于驱动GTH内部部分逻辑模块,频率为156.25MHz。
(c) txoutclk是由10G Ethernet PCS/PMA IP产生的一个322.26MHz的时钟,该时钟经过BUFG后分为两路,其中txusrclk用于驱动IP核内GTH的32bits总线数据,txusrclk2用于驱动IP核内PCS层部分模块。
(d)200MHz的晶振产生差分时钟输入到FPGA内的PLL(Phase LockingLoop)模块,PLL模块以200MHz差分钟为驱动时钟生成192MHz用户钟(sys_clk)发送给10G MAC核用户侧。
4、仿真验证
在本节中我们主要是对10G MAC核和10G Ethernet PCS/PMA IP核进行联合仿真测试,用于检测两个模块结合后能否稳定运行。具体的测试原理如图5.4所示。
将10G Ethernet PCS/PMA IP核的高速串行差分信号的输入输出相连,实现回环测试。我们在10G MAC核的用户侧的设置一个数据源用于发送数据帧,数据经过MAC核后转变为标准以太网帧,通过XGMII接口发送到10G Ethernet PCS/PMA IP核,10G Ethernet PCS/PMA IP核将其变为高速串行差分信号输出,高速串行差分信号经过回环被10GEthernet PCS/PMA IP核接收,重复上述过程的逆过程,最终数据在10G MAC核的用户侧接收接口被恢复。本测试具体分为3个步骤:定长最短帧(64Bytes)仿真测试、定长最长帧(1518Bytes)仿真测试、随机帧长仿真测试。在每一个测试步骤中,我们要尽可能模拟10Gbps的业务流。对于数据的检测,我们不但要对比波形是否正确,还要将10GMAC核用户侧的收发数据分别记录到两个文档内,并使用软件对两个文档内的数据对比来判断收发数据是否一致。由于篇幅限制,我们只给出定长最短帧的仿真结果截图。
图5.5 定长最短帧仿真图
图5.6 定长最短帧收发数据对比图
10G以太网接口板级调试
1、工程设置
软件环境为VIVADO2016.2,芯片设置为xc7vx690tffg1761-2 (active),板子采用Xilinx的VC709开发板。
VC709开发板实物图
Vivado选择FPGA型号界面
首先选择IP核,在界面中选择10G Ethernet Subsystem,PCS/PMA选择 BASE-R,位宽选择为64bit,其他标签中的选项默认即可。
待IP核生成结束之后,右键IP核,选择Open Ip Example Design,VIVADO便会自动生成一个Example Design,如下图所示:
此时example design设置完成,此时的工程中自带一个数据源,即
axi_10g_ethernet_0_gen_check_wrapper模块,但此数据源通过函数产生数据,不能综合,所以为配合Testcenter打流测试,将此数据源删掉。
为方便进行管脚分配,在生成的example design上新生成了一个顶层文件,并在此顶层模块中将用户侧输入输出的数据接在一起,实现MAC核的自回环。
此外在xdc文件中,管脚分配如下图所示:
2、上板验证
板级验证环境连接图如下,通过10G TestCenter用光口给VC709板子打流,在VC709板子的690T FPGA内部编写逻辑进行用户侧的环回,通过观察连接TestCenter的配置PC机上界面,就可以判断回环的测试是否成功。
通过10G Testcenter打流测试,首先配置测试环境,帧长为随机帧长(64~1518),速率设置为10G(实际设置为9.9G,当满速10G时Testcenter会出现一些丢帧错误,9.9G不会出现问题,但我们采用自己写的10G以太网MAC核,而非Vivado工具生成的MAC核时,可以支持满负荷线速处理,本文只给出采用Vivado生成的MAC核的演示结果)。
测试结果如下图所示,可以发现数据可以正常收发,且没有丢帧。
并在VIVADO中抓取了用户侧信号,结果如下图所示,数据收发正常。
本例程仅说明回环测试,在实际应用中,数据进来后,就可以用FPGA进行各种需要的处理。如矩阵运算、图像处理、机器学习、压缩、非对称加密、Bing 搜索等。可以大幅度的降低CPU软件的负荷,提高整体的处理能力。
参考时钟管脚分配注意事项
根据第一部分图5.3有关VC709板子时钟布局的介绍,给10G以太网接口提供参考时钟的SMA接口如下图VC709开发板上红色框内标记7和8两个接口,在实际上板调试过程中,需要手动用同轴电缆将两个接口连接起来。
用同轴线连接后的实物图如下所示:
查看用户手册,可以发现7和8接口描述如下。
查看VC709原理图,可以发现对应690T FPGA管脚的参考时钟如下图:
另外,在Xilinx系列开发板中,VC707板子也具有10G的以太网接口,使用方法与VC709相同。
在VC707板子上,需要用同轴线连接的管脚是上图中的9和10。
VC709板子上VC707板子上与10G接口相关的FPGA管脚对比图如下,从图中可以看出,VC709开发板可以接10G的接口数明显多于VC707开发板。
上板调试过程中遇到的问题
1、时序违例问题。
问题描述:在使用软件vivado 2016.2完成对10G以太网接口综合实现后,发现软件报告该工程有几处时序路径的建立时间无法满足,可能会出现时序错误。
查找原因:通过查看时序报告,并结合工程的实际设计了解到,出现问题的位置是10G MAC核的异步FIFO,由于此FIFO的两个时钟为异步时钟,导致软件在对其进行布局布线时无法同时满足两个时钟域的要求,因此出现建立时间报红的问题。
解决方法:由于此FIFO内的核心是一个双口RAM,此RAM本身就可以实现数据的跨时钟域传输,所以,此问题并不会出现时序错误。通过时序约束对几处时序违例的位置的时序路径进行忽略,解决该问题。
2、10G以太网接口无法接收数据的问题
问题描述:在对10G以太网接口进行上板测试时,发现此接口无法从交换机接收数据,10G EthernetPCS/PMA IP核的状态信号显示链路失同步、链路状态为低。
查找原因:由于是接口出现问题,因此使用Xilinx官方提供的专用测试接口的ibertIP核对其进行测试,发现ibert的近端PCS回环和PMA回环都可以通过测试,但是在使用外部光纤进行回环时无法通过测试,因此分析可能是光模块的问题导致10G以太网接口无法接收数据。通过查阅开发板VC709的官方手册后发现,此开发板的光模块的默认状态是关闭的,要通过代码对其进行配置才能使光模块正常工作。
解决方法:查阅手册,根据手册对光模块进行配置。再次进行测试,10G以太网接口可以接收数据,问题解决。
3、Vivado 2016.2软件BUG问题
见本公众号之前文章:发现了vivado2016.2版本的一个BUG!
参考文献
[1] Xilinx.ug887-2013.VC709evaluation board for the Virtex-7 FPGA user guide[S].Xilinx, 2013.
[2] Xilinx.ug885-2016.VC707evaluation board for the Virtex-7 FPGA user guide[S].Xilinx, 2016.
[3] 付新宇. 10G HIMAC协处理器关键技术研究.[D].西安电子科技大学,2018.
应用场景
VC709和VC707开发板上还有千兆的接口模式。同时,随着以太网接口速率的提升,10G、20G、40G甚至100G的以太网接口应用越来越广泛,具体来讲主要有两个关键的应用领域。
1、数据中心加速。
在一些数据中心采用10G或者更高速率的以太网接口加FPGA的模式,可以在数据进入到服务器之前采用硬件的方式进行快速的处理,降低服务器CPU的负荷。
2、SDN/NFV
把上面的应用场景扩展一下,就可以把带有FPGA的以太网卡用来降低各种各样场景下的CPU负荷,目前较为流行的概念是SMART NIC即智能网卡,其核心是通过FPGA(现场可编程门阵列)协助CPU处理网络负载,编程网络接口功能,具有以下特征:
通过FPGA本地化编程支持数据面和控制面功能定制,协助CPU处理网络负载;
通常包含多个端口和内部交换机,快速转发数据并基于网络数据包、应用程序套接字等智能映射到到相关应用程序;
检测和管理网络流量。
Smart NIC能够提升应用程序和虚拟化性能,实现软件定义网络(SDN)和网络功能虚拟化(NFV)的诸多优势,将网络虚拟化、负载均衡和其他低级功能从服务器CPU中移除,确保为应用提供最大的处理能力。与此同时,智能网卡还能够提供分布式计算资源,使得用户可以开发自己的软件或提供接入服务,从而加速特定应用程序。
目前业界提供基于FPGA的Smart NIC的厂商包括Accolade、BittWare、Enyx、Ethernity、Napatech、Netcope、Reflex CES、Silicom和Solarflare,通常集成自Intel或Xilinx的FPGA来实现。此外,Broadcom,Cavium,Intel,Kalray,Mellanox,Netronome,Silicom和SolidRun均可提供基于处理器的Smart NIC,使用带有集成处理器内核或FPGA的处理器或智能I/O处理器;亚马逊和谷歌已经开发了Smart NIC ASIC。
后期我们还将继续推出相关的介绍。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
联票是什么意思 | 乳清粉是什么东西 | 耳朵里痒是什么原因 | 青春不散场什么意思 | 淀粉酶测定是查什么 |
沉香木是什么树 | 狒狒是什么动物 | 恩字五行属什么 | 什么时候量血压最准确 | 媚眼如丝是什么意思 |
啤酒对身体有什么好处 | 9月24号是什么星座 | 受精卵着床有什么反应 | 奕字五行属什么 | 非洲说什么语言 |
什么油最好 | 天加一笔变成什么字 | 箨是什么意思 | 狮子座和什么座最配对 | 什么食物含有维生素b |
细菌性阴道病用什么药hcv8jop6ns1r.cn | 荆芥是什么菜hcv9jop4ns2r.cn | 没精打采是什么意思hcv9jop6ns8r.cn | 94年属什么hcv9jop1ns7r.cn | 晚饭吃什么英语怎么说hcv9jop3ns8r.cn |
摸不到心跳是什么情况hcv9jop4ns6r.cn | 螃蟹吃什么hcv7jop9ns3r.cn | 普外科是什么科hcv8jop6ns8r.cn | 静脉血是什么颜色hcv9jop3ns4r.cn | 舌头裂痕是什么原因hcv8jop3ns4r.cn |
手腕疼挂什么科hcv7jop5ns2r.cn | 福建人喜欢吃什么hcv8jop9ns4r.cn | 莲花与荷花有什么区别xinmaowt.com | 不胜感激是什么意思hcv9jop3ns4r.cn | 为什么月经量少hcv9jop0ns5r.cn |
沙僧属什么生肖hcv8jop1ns5r.cn | 为什么会感染hpvhcv9jop0ns3r.cn | 28岁属什么生肖hcv8jop9ns0r.cn | 什么是癫痫hcv9jop4ns0r.cn | 肠炎有什么表现hcv9jop8ns2r.cn |