LOON(1)

πŸ“¦ version 5.1.1, in fedora 43, fedora 44

πŸ‘‘ LOON(1) β€” like, the whole manual, bestie ✨

okay so real talk, this is the page for LooN from the CAO-VLSI Reference Manual, and I am so excited to walk you through it. grab a boba, we're doing this πŸ’…


🌸 NAME 🌸

LooN β€” Local optimizations of Nets. that's the whole vibe, that's the whole job, she optimizes nets, periodt.


πŸ¦‹ ORIGIN πŸ¦‹

okay so this software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. iconic behavior honestly πŸ‡«πŸ‡·

like, they really said "we're French, we do CAD, come say hi" and I respect it so much 🫢


✨ SYNOPSIS ✨

loon  [-hmxlo] input_file output_file  [lax_file]

that's it. that's the whole summoning ritual. note that [-hmxlo] is giving "the flags are all vibing in one bracket" energy πŸ’€


πŸ’– DESCRIPTION πŸ’–

loon is a CAD tool that lets you remove fanout problems within a gate netlist and also optimize the delay. the netlist can be hierarchical and is flattened if necessary β€” so don't worry, she'll sort it out.

loon runs in batch mode, and a parameter file can be used (see man lax) to parametrize optimization by adding information on outputs (fanin), inputs (fanout, delay), and by setting general parameters such as optimization level. lowkey a whole control panel.

loon permits to compute delays of gates in the netlist and gives the critical path in the netlist. the global optimization of loon performs gate repowering to decrease the critical path delay and global capacitance. and heads up bestie: Buffers are only inserted in critical path. like, buffers are NOT everywhere, they are in the critical path and only the critical path. don't come for her about the other paths πŸ™ˆ

πŸŽ€ lax Parameter file description πŸŽ€

the lax file is common with other logic synthesis tools and is used for driving the synthesis process. see lax(5) manual for more detail. iykyk.

lax uses a lot of parameters to guide every step of the synthesis process. some parameters are globally used (for example, optimization level) whereas others are specifically used (load capacitance for the netlist optimization only). here is the default lax file (see the user's manual for further information about the syntax of the '.lax' file):

Optimization mode = 2 (50% area - 50% delay)
Input impedance = 0
Output capacitance = 0
Delayed input = none
Auxiliary signal saved = none

look at that. balanced. 50% area, 50% delay, she's a Libra βš–οΈβœ¨


πŸ’… OPTION πŸ’…

  • -h β€” Help mode. Displays possible uses of loon. the "bestie what do i even type" button 🫢
  • -o input_file β€” Overwrites the source file if no output_file is given. This can be useful if you don't want several netlist files. yes she will simply eat the original. no leftovers, no clutter, minimalism queen πŸ“
  • -m optim_mode β€” Optimization mode. Can be defined in lax file, it's only a shortcut to define it on command line. This mode number has an array defined between 0 and 4. It indicates the way of optimization the user wants. If 0 is chosen, the circuit area will be improved. On the other hand, 4 will improve circuit delays. 2 is a medium value for optimization. so like: 0 = tiny, 4 = fast, 2 = the balanced icon she defaults to πŸ’–
  • -x xsch_mode β€” Generate a '.xsc' file. It is a color map for each signals contained in output_file network. This file is used by xsch to view the netlist. By choosing level 0 or 1 for xsch_mode, you can color respectively the critical path or all signals with delay graduation. literally giving you the heatmap. aesthetic AND useful, we love to see it 🌈
  • -l lax_file β€” Just another way to show explicitly the LAX parameter file name. same energy as the positional lax_file, just more out loud about it, main character energy fr fr ✨

🌟 ENVIRONMENT VARIABLES 🌟

the following environment variables have to be set before using loon β€” like, this is not optional bestie, set them πŸ’€

  • MBK_CATA_LIB β€” gives the auxiliary paths of the directories of input files (behavioural description).
  • MBK_TARGET_LIB β€” gives the path (single) of the directory of the selected standard cell library. one path. single. not a list. she said ONE πŸ“Œ
  • MBK_IN_LO β€” gives the input format of the structural description.
  • MBK_OUT_LO β€” gives the output format of the structural description.

🧚 EXAMPLE 🧚

you can call loon as follows :

loon alu alu_loon

slay. alu goes in, alu_loon comes out. glow up complete πŸ¦‹


πŸ”₯ SEE ALSO πŸ”₯

loon(1), boog(1), boom(1), lax(5), vbe(5), proof(1), asimut(1), vhdl(5), ocp(1), nero(1), sxlib(5).

the whole friend group. go read them too, they're all part of the same Alliance cinematic universe 🎬


πŸ’€ BUG REPORT πŸ’€

This tool is under development at the ASIM department of the LIP6 laboratory.

We need your feedback to improve documentation and tools. so like, if something's weird, TELL THEM. they're literally asking. constructive feedback is self care 🫢


no cap, that's everything β€” every flag, every default, every env var, all present and accounted for πŸ’–

and that's a wrap on ASIM/LIP6 β€” Sept 01 2000 β€” LOON(1) ✨ so this page is a lil vintage (Sept 01 2000, from ASIM/LIP6) and it still eats. bye bestie, go optimize some nets πŸ’…πŸŽ€