<tpb>
Title: Filebin :: bin ptwm4nla8k1gdm7r (at filebin.net)
<sf-slack1>
<acomodi> We got ~1300 setup violation for the main system clock and 2 hold violation for the same clock
luaraneda has joined #symbiflow
freemint has joined #symbiflow
<mithro>
acomodi: Well that isn't going to work :-P
<sf-slack1>
<acomodi> mithro: Yep definetly, interestingly enough though, the CPU still woks fine as well as DDR calibration (apparently). With so many setup violations shouldn't be some issues also there?
<mithro>
acomodi: So what SDC file are you giving to vpr?
<mithro>
acomodi: Why are the false paths commented out?
<mithro>
acomodi: Can you explain the pathway that vpr is using to get from an IO pin to the clock buffer via interconnect verse the path vivado takes?
space_zealot has joined #symbiflow
<sf-slack1>
<acomodi> @mithro: this is the XDC in archdefs, the cells specified in there have different namings after fasm2bels
<sf-slack1>
<acomodi> mithro: regarding the pathway, basically the IOI_ILOGIC has the output that can be directed to two different locations: one is the general interconnect, and one gets to a clock resource that redirects the clock signal into the clock network.
space_zealot_000 has joined #symbiflow
<sf-slack1>
<acomodi> VPR is not aware that the it is routing about which one of the two paths is the clock network, therefore it chooses the general interconnect path. Now, this is actually strange as the timing should be worse in case the clock gets through the general interconnect and the clock network should be the preferred path
space_zealot has quit [Ping timeout: 260 seconds]
<mithro>
acomodi: Yes - but can you write it down for me somewhere?
<sf-slack1>
<acomodi> @mithro Sure
somlo has quit [Remote host closed the connection]
somlo has joined #symbiflow
Bertl is now known as Bertl_oO
<_whitenotifier-3>
[ideas] tmichalak opened issue #40: Improve the visual representation of the placement done by VTR - https://git.io/Jv33z
kraiskil has quit [Ping timeout: 240 seconds]
<mithro>
acomodi: Do you see my diagram in the doc now?
<sf-slack1>
<acomodi> @mithro Yes
freemint has quit [Remote host closed the connection]
freemint has joined #symbiflow
<mithro>
acomodi: Does the solution makes sense?
<mithro>
acomodi: What as the primitives inside an IOPAD anyway?
somlo has quit [Ping timeout: 260 seconds]
<sf-slack1>
<acomodi> @mithro: So, I think that to apply this solution, we need to slightly modify the pb_type of the IOPAD, and add a new output that needs to be hooked to the correct path in the rr_graph.
<sf-slack1>
<acomodi> mithro: I am unsure still on how much effort would be required to do so
somlo has joined #symbiflow
<litghost>
acomodi: That solution does not work, because the site does not connect to the dedicate path
<sf-slack1>
<acomodi> @litghost What if we can detach the dedicated path and the path to the general interconnect and assign each one to the corresponding site pin?
<litghost>
acomodi: That will require a lot of work, and it will require that synthesis emit a special subckt to force the packer to choose the specific exit we want
<litghost>
acomodi: I don't believe this course of action will be working for a while
<litghost>
acomodi: I suggest considering other options
<litghost>
acomodi: For example, using route_diag to determine why the router choose the interconnect path
<litghost>
acomodi: If criticality is the key, specific a low / mid / high criticality to route_diag, and example the router behavior in each
kraiskil has joined #symbiflow
space_zealot has joined #symbiflow
space_zealot_000 has quit [Ping timeout: 260 seconds]
<_whitenotifier-3>
[symbiflow-arch-defs] litghost opened issue #1291: SDC/XDC create_clock and set_false_path constraints should propigate through Yosys - https://git.io/Jv3ZJ
yeti has joined #symbiflow
az0re has joined #symbiflow
citypw has quit [Ping timeout: 265 seconds]
freemint has quit [Remote host closed the connection]
freemint has joined #symbiflow
piegames has joined #symbiflow
kraiskil has quit [Ping timeout: 260 seconds]
<hackerfoo>
I don't like preventing what should be valid because it's "bad" - the router should know why it is bad so that it can pick a good route.
<hackerfoo>
If the router wants to take the bad path, we're going to have to keep fighting it, like trying to push water uphill.
<hackerfoo>
Maybe it's possible to calculate an upper bound for skew as the delay back to the first fanout from a source, which would be subtracting the delay up to the first fanout.
<litghost>
hackerfoo: It's worth noting that using the dedicated path vs direct shouldn't have a significant affect on modeled skew in VPR, because VPR lacks min/max delays on interconnect
<hackerfoo>
Anything on the clock network should be near 0.
<litghost>
hackerfoo: So it's not clear if VPR could use that in this case
<litghost>
hackerfoo: Keep in mind this is from the CCIO clock to BUFG
<hackerfoo>
It would penalize early fanout as well.
<hackerfoo>
Then after hitting the clock network without fanout, the skew would be near 0 throughout the network.
<hackerfoo>
The problem is that it might be expensive to track another delay to the first fanout, so it should be limited to clock nets.
<hackerfoo>
The justification for using this upper bound is that if two routes split right before one of them enters the clock network, the skew will be roughly the delay from that point to where they join again, assuming the clock network has much lower delay than general interconnect. It will be less accurate if they split earlier, but I don't think that will be a problem.
freeemint has joined #symbiflow
freemint has quit [Read error: Connection reset by peer]
freeemint has quit [Read error: Connection reset by peer]
freeemint has joined #symbiflow
freemint has joined #symbiflow
freeemint has quit [Read error: Connection reset by peer]
kraiskil has joined #symbiflow
freemint has quit [Ping timeout: 248 seconds]
az0re has quit [Remote host closed the connection]