alexforencich / verilog-axi

Verilog AXI components for FPGA implementation
MIT License
1.45k stars 438 forks source link

axi_interconnect Synthesis #55

Open GGbang2 opened 1 year ago

GGbang2 commented 1 year ago

Hello, I found that the "priority_encoder" was optimized out when synthesizing "axi_interconnect" using Vivado. Do you know the reason behind this? The following image shows the synthesis schematic results: schematic

alexforencich commented 1 year ago

The Vivado optimizer can do strange things occasionally. It is a purely combinatorial block, perhaps the LUTs that make up the priority encoder got merged with other LUTs, so there is no longer a defined hierarchy. I think the hierarchy is a bit loose anyway, I have seen all sorts of odd stuff get pushed across hierarchy boundaries during optimization, resulting in some confusion while trying to track down timing failures and what not.