June 19th, 2020 Progress Report

Node Only Synth IO Tiles

   This week I started implementing support for a more generic roi like region. I have a mostly working ability to generate synth io tiles from a vivado node name that crosses the partition region border.  This will allow for easier harness creation and make matching up the overlay with the partition region much easier.
   
    I accomplished this feature by searching the connections database for a pair of wires on the given node with minimum Manhattan distance where one is outside the region and one is inside the region.  This method also makes it trivial to get the wire the overlay synth tile needs to connect to (we already have the pair).


Multiple Synth IOs at the Same VPR Coordinate

    I am now working on implementing the ability to place multiple synth io tiles at the same vpr grid location.  This will especially be useful for routing multiple clocks into a partition region, as all of these clocks must be routed into the partition region at the one HCLK tile on the right on the region.  It can also be used for more dense IOs.
   
    I am trying to implement this by increasing the capacity of the synth-io tiles.  I am also merging together syn-inpad and syn-outpad to syn-iopad in order to allow an input and an output at the same VPR coordinate.

Next Week

    Next week I will hopefully be able to finish implementing multiple synth ios within a day or two, and then clean up and document my work so far to allow it to get merged.  Depending on how long it takes to work out multiple synth io bugs, I would also like to start generating architecture files for the overlay.

Comments