02-25-2021 10:19 AM
It is a bit confusing how PMA is implemented in 100G CMAC. As far as I understand the main point for PMA is to get the PCS lanes and provide a bit stream out of them down to PMD.
That picture bellow from pg203 illustrates the transition from PCS to PMD. If that is the case does it display the general functionality of PMA?
The standard specifies as PCS lanes the 20 VLs made of 66 bit blocks at a time. Which it is expected to be but muxed and broken down to bit streams that are fed to the PMD. Yet in the picture it seems like the 16 bit lanes are muxed and passed directly to the PMD?
Furthermore, it is expected CAUI-4 to be “physical instantiation of the connection between 2 adjacent PMAs”. From the picture and information in pg203 seems like the output of the muxes goes to GT-Serdes (I cant see the PMA layering).
03-08-2021 06:45 AM
Thank you very much for your reply,
So I guess that that answers my question "does it display the general functionality of PMA?" (meaning is that how PMA is implemented in CMAC?)
03-08-2021 03:25 PM
The CMAC has internal 16:66 gearboxes on each of the virtual lanes, so each lane can either generate or accept 16 bits on each clock cycle. It's done this way because all of the numbers work out nicely - 5 bit-muxed VLs per serdes means you really want the serdes data width to be a multiple of 5 so you can do a static demux, so they use 80 bits which is 5*16. Then each VL has to do block lock independently, which means you need 20 different places where you can bit slip, which means 20 16:66 gearboxes. And the clock frequency with 80 bit serdes interfaces is 100G * 66/64 / (4*80) = 322.265625 MHz, which is not crazy high.