关于K7中是否每一组MGT接口都可以接10G SFP的试验

2023-10-20 15:10

本文主要是介绍关于K7中是否每一组MGT接口都可以接10G SFP的试验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在做新的一版SDR平台时候有一个疑问就是,就是关于K7高速口的分配,要用到6组高速口接SFP,其中QSFP占用4对,单路SFP两个占用两对。这些高速对是否可以任意分配到高速口上呢,这就是接下来试验要解决的问题。

首先从已经有的经验,之前做PCIEX4时候那高速线是可以任意成组分配的。一成组分配我们说的意思是,比如tx1_p,tx1_n,rx1_p,rx1_n这四根信号线可以对应的跟tx2_p,tx2_n,rx2_p,rx2_n一一交换,并且一交换就要交换四根 。

我这里利用现有一个用到7K325的10G光口项目,用到了两路光口,我就分别将这两路尝试连接7K325的8组高速接口上,看是否编译通过并且生产最终的bit流文件。


下面是完整的XDC约束文件:


set_property PACKAGE_PIN F6 [get_ports ref_clk_p0]create_clock -period 6.400 -name ethclk0 -waveform {0.000 3.200} [get_ports ref_clk_p0]set_property PACKAGE_PIN G12 [get_ports tx_disable0]
set_property IOSTANDARD LVCMOS25 [get_ports tx_disable0]set_property PACKAGE_PIN J13 [get_ports tx_disable1]
set_property IOSTANDARD LVCMOS25 [get_ports tx_disable1]# set_property PACKAGE_PIN A4 [get_ports mgt_tx_p0]
# set_property PACKAGE_PIN B2 [get_ports mgt_tx_p1]set_property PACKAGE_PIN D2 [get_ports mgt_tx_p0]
set_property PACKAGE_PIN F2 [get_ports mgt_tx_p1]set_property PACKAGE_PIN A15 [get_ports led_up]
set_property IOSTANDARD LVCMOS25 [get_ports led_up]
set_property PACKAGE_PIN B12 [get_ports led_dwn]
set_property IOSTANDARD LVCMOS25 [get_ports led_dwn]set_false_path -from [get_pins {tengbaser_infra0_inst/ten_gig_eth_pcs_pma_core_support_layer_i/ten_gig_eth_pcs_pma_shared_clock_reset_block/reset_pulse_reg[0]/C}] -to [get_pins {tengbaser_infra0_inst/ten_gig_eth_pcs_pma_core_support_layer_i/ten_gig_eth_pcs_pma_shared_clock_reset_block/gttxreset_txusrclk2_sync_i/sync1_r_reg*/PRE}]
#set_clock_groups -name asyncclocks_eth0_usr_clk -asynchronous -group [get_clocks -of_objects [get_cells -hierarchical -filter {name=~*clk_counter*}]] -group [get_clocks -include_generated_clocks ref_clk_p0_CLK]
set_property CONFIG_VOLTAGE 2.5 [current_design]
set_property CFGBVS VCCO [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 33 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property BITSTREAM.CONFIG.SPI_32BIT_ADDR Yes [current_design]
set_property BITSTREAM.CONFIG.TIMER_CFG 2000000 [current_design]
set_property BITSTREAM.CONFIG.CONFIGFALLBACK ENABLE [current_design]set_false_path -from [get_pins {tengbaser_infra0_inst/ten_gig_eth_pcs_pma_core_support_layer_i/ten_gig_eth_pcs_pma_shared_clock_reset_block/reset_pulse_reg[0]_replica/C}] -to [get_pins {tengbaser_infra0_inst/ten_gig_eth_pcs_pma_core_support_layer_i/ten_gig_eth_pcs_pma_shared_clock_reset_block/gttxreset_txusrclk2_sync_i/sync1_r_reg[*]/PRE}]

其中我就是修改下图中红框的两个tx_p的引脚号,之后进行编译看是否成成BIT流文件的。

这里为什么没有设置mgt_tx_n0和mgt_tx_n1以及接受通道呢,道理很简单,高速差分对是确定的,指定差分对的一个,就指定了这个收发器,指定了这个收发器也就确定了rx_p,rx_n,tx_p,tx_n。

编译时间太长,等待编译出结果之后我再续写

 下班后就回家了,远程看了看编译通过顺利生成BIT流文件。最终的结论是:每一组GTX收发器都可以接10G SFP光口。

上图是远程查看编译结果。

{{aAxvOXMOIvVUoXMxvoxiowMwWV8xxWTxoxOIOVIUUOvwVOUiIoUvvTMMVMwovWHWX8vOUOwvv8TovIoiUHMx8ovwmIOoWwHXoxTmMwIVioXoH8vVHOMoiHIoVU8VvmvIWXTvvOvv8xvMovOWMWOwUWiX8UmooOTvvwUIoTwvmWUoiTw8VmvoHWwMIUWOixiowiUoiXwiwwMMIiIXHwUmOWUVmXXwV8iHWOTUiwTU8xwOoV8HVmTWZz}}

这篇关于关于K7中是否每一组MGT接口都可以接10G SFP的试验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/247899

相关文章

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1