Description
I have noticed that the current VPR implementation does not allow for wires to terminate without a fan out/fan in from a switch block. This can be an issue if a user wants to specify a segment that terminates with fan in from a connection block but not a switch block (i.e. sb="0 0 1 0 0" cb="1 0 0 1").
Expected Behaviour
A user should be able to end a segment without fan in/fan out from a switch block (i.e cases in which a wire terminates with fan out to a CB but does not connect to any other wires via SB).
Current Behaviour
Regardless of the truth values on the first and last elements of the sb pattern array, VPR interprets them as 1's (at least that is what appears to be happening when I pull up the graphics). For example, sb="0 0 0 0 0" and sb="1 0 1 0 1" will both be interpreted the same way. The following are images taken from the graphical representation of the implementation for a modified k6_N10_40nm.xml architecture with the stereovision0.v benchmark. The k6_N10 arch only has a single segment definition of length 4 and the modified values for cb and sb used are listed with their corresponding images:
Image of graphics produces with a cb pattern of 1 1 1 1 and an sb pattern of 0 0 0 0 0 in the k6_N10_40nm arch:
Image of graphics produces with a cb pattern of 1 1 1 1 and an sb pattern of 1 0 0 0 1. Note that the affect is the same as the architecture above:
Image of graphics produces with a cb pattern of 1 0 0 1 and an sb pattern of 0 0 1 0 0. Note again that the terminating edges of the highlighted wire still have fan out/fan in from their respective SBs: