![]() |
![]() ![]() GR based virtual buffering |
Virtual Buffering This is an engine, which allows us to check if we can do buffering on nets in future. We can use it in the flow as well as from tcl command. TCL command insert_buffers [-block <tcl object>] -check_only <on|off> -max_distance <integer> Note: Only “-check_only on” is supported for now. If –max_distance = 0, then we’re trying to insert buffers based on timing parameters (resistance/capacitance). But since now calypso doesn’t support such information correctly, result will be useless. So we need to specify distance here for now. This command will try to insert buffers for all nets from given cell. Net, which has no driver, will be skipped. For each buffered net will be generated buffers_net_<netIdx>.tcl file (in groute/ folder), which will contain set of locate_coord commands. If you want to see gcells, where was placed buffers, you need to source corresponding output file from calypso shell. Flow There are two ways for turning on/off virtual buffering mode. The first one is just set corresponding parameters in .calypso.ini file. Here is the list of keywords for controlling it: sce_groute_virtual_buffering_max_length <value> sce_groute_buffer_area <value> For turning on engine we need to assign non zero value to sce_groute_virtual_buffering_max_length parameter. Second parameter is for defining buffer’s area. If it equal to 0, then we’re using average gate area (from typical gate info). The second way for turning on this mode is to change parameters in global_route_settings tcl command: global_route_settings –virtual_buffering_max_length <value> -buffer_area <value> If this mode is turned on, then after congestion improvement phase calypso will run virtual buffering on all nets, and will try to fix 1. virtual buffering failed nets 2. overcongestion in area congestion map During virtual buffering congestion improvement phase calypso will use max length aware global routing mode. For all buffered nets also will be generated corresponding tcl files in groute/ folder. So after global routing we can see buffers for each net. | |
[Append to This Answer] |
Previous: |
![]() |
Next: |
![]() |
|