免费咨询热线
177-5963-5229ABB CMA131 3DDE300411 数据包的数据包长度计数器
ABB CMA131 3DDE300411 数据包的数据包长度计数器
ABB CMA131 3DDE300411 数据包的数据包长度计数器
从角度来看,这个虚拟数据包 FIFO旨在支持10Gb、4 路以太网交换机。这意味着我希望能够在 4 个接口中的每一个上同时支持 10Gb 到达(和离开)。使用我们计划的硬件时,内存将以 200MHz 时钟运行,每个时钟周期读取(或写入)512 位(64 字节)数据。但是,10Gb 以太网交换机将每 51.s ns 生成一个 512 位字,或者(大致)在 200MHz 下每 11 个时钟生成一次。因此,当界面全速运行时,我们将收到来自旋转控制器的请求。第一个控制器可能想要一个节拍,但是接下来的 10 个节拍不需要任何东西,而第二个控制器想要一个节拍,等等。
通常,我运行 Wishbone 的方式是将数据突发传输到总线(即内存),然后在关闭接口之前等待响应。使用 Xilinx 的 MIG 时,这会占用 20 个时钟周期的延迟。如果我在这里这样做,我将永远没有足够的内存带宽来跟上。
我对这个问题的解决方案是使用一种特殊类型的互连——我首先为 AXI 项目开发的互连。使用此互连时,N 个主机可以请求单个从机的总线访问。在这种情况下,当每个总线主机发出请求时,主机的 ID 被放置在 FIFO 中。由于 Wishbone请求总是按照收到的顺序返回,因此我可以使用此 FIFO 将响应路由回适当的主机。这将允许我将来自多个主控的请求交织在一起,以便它们进入内存。
这是个好消息——更多带宽。坏消息是这个 N:1 仲裁器将以两种方式破坏Wishbone 。首先,由于没有事务结束的保证概念,因此无法知道何时锁定总线。其次,当我实现Wishbone时, 总线错误会终止任何正在进行的事务。这意味着如果 N 个主控器处于活动状态并且其中只有一个主控器接收到总线错误——以响应某些错误事务,则所有 Wishbone主控器都将接收到总线错误以返回其正在进行的操作。目前,这将起作用:1) 这些虚拟数据包 FIFO 不会锁定总线,以及 2) 任何 总线错误应该很少见,甚至不存在。尽管如此,这仍然是一个风险,我需要确保在整个项目中都对其进行了详细记录。
ABB UFC719AE01
ABB DCP10
ABB GJR5252300R3101 07AC91F
ABB GJR5252300R3101
ABB 07AC91F
ABB 5SHY4045L0006 3BHB030310R0001
ABB 5SHY4045L0006
ABB 3BHB030310R0001
ABB HIEE205011R0002
ABB SC540 3BSE006096R1
ABB SC540
ABB 3BSE006096R1
ABB PP846A
ABB 3BSE042238R2
ABB PP846A 3BSE042238R2
ABB CI845A
ABB CI867
ABB PPD512 A10-15000
ABB 3BHE040375R1023
ABB PPD512
ABB BC810K02
ABB 3BSE031155R1
ABB PP865
ABB PM866
ABB 1784-KT
ABB PM511
ABB FAU810
ABB PFEA111
ABB DSTD150
ABB REF610C11LCLR
ABB GOP2
ABB D674A906U01
ABB PFCL201C 10KN
ABB TU810
ABB 3HAB8101-18/09A
ABB KUC755AE105 3BHB005243R0105
ABB KUC755AE105
ABB 3BHB005243R0105
ABB 086318-002
ABB 086318-501
ABB 5SHY4045L0004
ABB FI820F
ABB PM864
ABB PM864A
ABB 20.5*15.5*8.7
ABB 3AUA0000110429
ABB 5SGX1060H0003
ABB 800PP846A
ABB PE1315A
ABB 81EU01H-E
ABB GJR2391500R1210/GJR2391511R42
ABB GJR2391511R42
ABB 07KR51 220VDC
ABB 07KR51-V3.6 1SBP260011R1001
ABB INIIT13
ABB MSR04X1
ABB ICSI16E1
在这种情况下,这个虚拟数据包 FIFO将在我正在研究的10Gb 以太网交换机中发挥重要作用。当数据包从 PHY 到达时,它们的 CRC 将被验证,它们的流宽度被扩展,然后它们将跨时钟域,它们的源 MAC 将记录在路由器中,它们将进入这个虚拟数据包 FIFO。一旦这些数据包从FIFO中出来,它们将进入一个单独的同步 FIFO,检查它们的目标 MAC,路由到传出接口,跨时钟域(再次),调整它们的宽度回到接口宽度,最后搞定爆出网络。请随意查看这张图片,了解整个操作的概览,以及该项目所需的各种组件的状态。