-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Currently, FABulous connects the ports of neighboring tiles based on their order of their occurrence in the .csv file.
For example, consider this N_IO tile:
TILE,N_IO,,,,,
#direction,source_name,X-offset,Y-offset,destination_name,wires,
NORTH,NULL,0,-1,N_GBUF_END,4,# global buffers
SOUTH,S1BEG,0,1,NULL,4,
SOUTH,S2BEG,0,1,NULL,8,
SOUTH,S2BEGb,0,1,NULL,8,
SOUTH,S4BEG,0,4,NULL,4,
SOUTH,SS4BEG,0,4,NULL,4,
NORTH,NULL,0,-1,N1END,4,
NORTH,NULL,0,-1,N2MID,8,
NORTH,NULL,0,-1,N2END,8,
NORTH,NULL,0,-4,N4END,4,
NORTH,NULL,0,-4,NN4END,4,
NORTH,NULL,0,-1,Ci,1,# carry
JUMP,NULL,0,0,GND,1,
JUMP,NULL,0,0,VCC,1,
BEL,../../primitives/IOBUF/rtl/IOBUF.v,A_,,,,
MATRIX,./N_IO_switch_matrix.list,,,,,
EndTILE,,,,,,This matches the LUT4x8_C tile:
TILE,LUT4x8_C,,,,,#carry out
NORTH,N_GBUF_BEG,0,-1,N_GBUF_END,4,# global buffers
INCLUDE,../common/Base.csv,,,,,
#direction,source_name,X-offset,Y-offset,destination_name,wires,
JUMP,GCLK_BEG,0,0,GCLK_END,1,
JUMP,GSR_BEG,0,0,GSR_END,1,
JUMP,GEN_BEG,0,0,GEN_END,1,
NORTH,CO,0,-1,CI,1,# carry
JUMP,J_SR_BEG,0,0,J_SR_END,1,
JUMP,J_EN_BEG,0,0,J_EN_END,1,
BEL,../../primitives/FABULOUS_LC/rtl/FABULOUS_LC.v,LA_,,,,
BEL,../../primitives/FABULOUS_LC/rtl/FABULOUS_LC.v,LB_,,,,
BEL,../../primitives/FABULOUS_LC/rtl/FABULOUS_LC.v,LC_,,,,
BEL,../../primitives/FABULOUS_LC/rtl/FABULOUS_LC.v,LD_,,,,
BEL,../../primitives/FABULOUS_LC/rtl/FABULOUS_LC.v,LE_,,,,
BEL,../../primitives/FABULOUS_LC/rtl/FABULOUS_LC.v,LF_,,,,
BEL,../../primitives/FABULOUS_LC/rtl/FABULOUS_LC.v,LG_,,,,
BEL,../../primitives/FABULOUS_LC/rtl/FABULOUS_LC.v,LH_,,,,
MATRIX,./LUT4x8_C_switch_matrix.list,,,,,
EndTILE,,,,,,However, when these two lines are swapped:
INCLUDE,../common/Base.csv,,,,,
NORTH,N_GBUF_BEG,0,-1,N_GBUF_END,4,# global buffersFABulous will connect the LUT4x8_C's north ports and the N_IO's south ports in a completely wrong order! Don't ask me how I found this out 😅
This should really be matched by name and not by order.
If the ports don't match, FABulous should abort and print an error message.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request