Routing Render¶
cb_renderer¶
- class spydrnet_physical.util.cb_renderer(name, gsb_xml, scale=40, spacing=None)[source]¶
This class renders the conenction box information
Methods:
Reports IPIN information
sb_renderer¶
- class spydrnet_physical.util.sb_renderer(name, gsb_xml, scale=40, spacing=None)[source]¶
Renders the switch box information from GSB (Generic Switch Box) file
Methods:
Extracts all parameters
report_connectivity
([pin_map, in_pin, ...])Report connectivity of each driver mux
RoutingRender¶
- class spydrnet_physical.util.RoutingRender(name, gsb_xml, scale=40, spacing=None)[source]¶
This class illustrates the FPGA switch box and connection box based on the given GSB xml files.
General Variables
- Parameters
self.name – Name of the module
self.scale – General scale for rendering connectivity
self.spacing – Margin beetween each section
self.root – Parsed XML Root element
¶ self.chanx
Unique list of elements horizontal channels
self.chanx_l
Unique list of elements left incoming chanx channels
self.chanx_l_len
length of
chanx_l
self.chanx_r
Unique list of elements right incoming chanx channels
self.chanx_r_len
length of
chanx_r
self.chanx_l_drivers
New generated left outgoing channels with feedthrough
self.chanx_l_ft
Left outgoing channels with feedthrough
self.chanx_l_out_map
Mapping of ft/driver index with offset on the left side
self.ipin_l
Unique list of elements outgoing from connection box on left side
self.ipin_l_len
Length of
ipin_l
self.opin_l
Unique list of elements incoming from left side
self.opin_l_len
Length of
opin_l
self.opin_l_t
Unique list of elements incoming from left top side
self.opin_l_t_len
Length of
opin_l_t
self.opin_l_b
Unique list of elements incoming from left bottom side
self.opin_l_b_len
Length of
opin_l_b
- __init__(name, gsb_xml, scale=40, spacing=None) None [source]¶
Initialise the rendering class
- Parameters
name (str) – Name of the connection box
gsb_xml (str) – XML file path to read
Methods:
update_dimensions
(scale, spacing)Updates scale and spacing dimensions
report_incoming_channels
(side)This prints incoming channels in the given switch box from the given direction
index, Mux, ChanX, Chany, OPIN_L, OPIN_R, OPIN_T, OPIN_B
report_outgoing_channels
(side)This prints the channel information of given switch box for a given direction channels
Extracts insformation from provided general switch box file
get_stats
([print_header, noprint])Prints switch box statistics
save
([filename, viewbox])Save SVG file
render_connection_box
(side[, pinmap, ...])Render connections box in SVG format
Create SVG object rendering all the switchs from switch box
This function creates initial floorplan for rendering switch boxes
- report_incoming_channels(side)[source]¶
This prints incoming channels in the given switch box from the given direction
index, Mux, ChanX, Chany, OPIN_L, OPIN_R, OPIN_T, OPIN_B
- report_outgoing_channels(side)[source]¶
This prints the channel information of given switch box for a given direction channels
- render_connection_box(side, pinmap=None, channel_map=None, filename=None)[source]¶
Render connections box in SVG format
- add_partitions()[source]¶
- This function creates initial floorplan for rendering switch boxes
┌───────────────────────────────┐ │ │ │ ┌───────────────────────────┐ │ │ │ │ │ │ │ ┌──────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Channel_CrossOver │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────┘ │ │ │ │ │ │ Driver_Channels_1 │ │ │ │ │ └──────────────────────┘ │ │ │ │ Driver_Channels_2 │ │ │ └───────────────────────────┘ │ │ OPINs_1 │ └───────────────────────────────┘
Channel_CrossOver
andDriver_Channels_1
section always exists.Driver_Channels_2
on specific site can be skipped if there are no channels drivers in that direction