Lecture 9Tcl Basics and Logic Synthesis IntroXuan ‘Silvia’ ZhangWashington University in St. Louishttp://classes.engineering.wustl.edu/ese461/
OutlineTcl BasicsLogic Synthesis Intro2
My First Tcl Script Hello world3
Tcl Basics String based interpreted command language Tcl scripts– consist of one or more commands– command followed by parameters or arguments– separated by white spaces or tabs Example– print “My first Tcl script”– puts: output a new line– stdout: output to the terminal4
Tcl Basics Two step process– parsing: define substitutions– execution: meaning is applied to command arguments Example– set: read and write variables– pair of brackets invokes an additional evaluation5
Tcl Basics Declare and instantiate variable– set Retrieve variable value– : variable substitution– []: command substitution– \: escape for , new line Quote and comment– “”: space, tabs, semicolons treated as ordinarycharacters– {}: all special character lose their meanings, deferevaluation– #: the remaining line is a comment6
Tcl Basics Variable– has a name and a value (stored as a string) Expression– combine operands and operators to create new values Operators– relational operators: , , , , , ! return 0 (false) or 1 (true)– bitwise operators: &, , , , , require operands to be integers– ternary operator: ? e.g. expr {( a b)? a : b}7
Tcl Basics Mathematical expressions– expr command evaluate math expressions– concatenate all arguments into string– parse it as math expression according to C-syntax Example8
Tcl Basics Control flow––––if, elseif, elsewhileforforeach Procedure– reusable packaged modules Output format––––string: %sdecimal: %dreal number: %fcharacter: %c9
Example Synthesis Script10
Example Synthesis Script11
Tcl Reference .html http://wiki.tcl.tk/130412
OutlineTcl BasicsLogic Synthesis Intro13
Standard Cell Design Flow14
Design Flow Division Front End––––specify, exploredesign, capturesynthesizeoutput: structural RTL Back End––––input: structuralplace and routemask makingfabrication
Front End Design Flow16
Back End Design Flow17
Logic Synthesis HDL (Verilog or VHDL) - gate-level netlist– C compiler: C code - machine language– convert a high-level description of design into anoptimized gate level representation– e.g. verilog by connecting standard cells Target library– standard cell library– basic logic gates like and, or, not, xnor, or marco cellslike adder, mux, and flip-flops Mapping and Optimizing– timing engine– power, delay, area (but not number of cells)18
Example: Comparator/MUX19
Example: Comparator/MUX20
Example: Comparator/MUX Critical path21
Simplified Synthesis Process Mature commercial tool– over 1 million lines of code Parse (Analysis) HDL code Elaborate (Translate) HDL code– data structure: a graph represented by linked list– then covert to a network of generic logic cells(technology-independent)– output: synthesized network22
Simplified Synthesis Process Logic optimization– attempt to improve the network (area, power, speed)– a series of factoring, substitution, and elimination steps– still technology-independent Technology decomposition– build a generic network from optimized logic network23
Simplified Synthesis Process Technology mapping– match generic network to a specified technologydependent target cell library24
Logic Synthesis Reference “Logic Synthesis in a Nutshell”– http://cc.ee.ntu.edu.tw/ pdf25
Lab #3: FPU Adder Due 10/10 (Monday) floating-point adder 32-bit IEEE-754 format Note: can’t “cheat” with a “real” variable real– predefined variable data type in Verilog– typically a 64 bit IEEE-754 floating point number26
Questions?Comments?Discussion?27
Tcl Basics String based interpreted command language Tcl scripts – consist of one or more commands – command followed by parameters or arguments – separated by white spaces or tabs Example – print “My first Tcl script” – puts: output a new line – stdout: output to the terminal 4File Size: 585KBPage Count: 27
any Tcl built-in command. See Appendix A, “Basics of Tcl,” for information on Tcl syntax and on the extensions that have been added to the Tcl interpreter. Using Hierarchy Separators in Tcl Commands Many Tcl commands take an object name as an argument. The path
Tcl application. TclPro Wrapper makes it easy to distribute Tcl applications to your users and manage upgrades in Tcl versions. Tcl/Tk 8.2 The latest version of Tcl/Tk is pre-compiled and ready for use. Bundled extensions Several popular Tcl ext
Tcl lists, which share the syntax rules of Tcl com-mands, are explained in Chapter 5. Control structure like loops and if statements are described in Chapter 6. Chapter 7 describes Tcl procedures, which are new commands that you write in Tcl. Chapter 8 discusses Tcl arrays. Arrays are the mo
Section 2. Tcl/Tk basics Origins of Tcl/Tk Tcl stands for Tool Control Language. Tk is the Graphical Toolkit extension of Tcl, providing a variety of standard GUI interface items to facilitate rapid, high-level application development. Development on Tcl/Tk, pronounced "tickle tee
The TCL series is used for service purposes and for different industrial and laboratory tasks. For example, thermometers, temperature switches/thermostats, resistance thermometers and thermo-elements can be directly connected and checked. Versions: The TCL series of calibr
Tcl interpreters from the C code and start feeding them Tcl commands to evaluate. It is also possible to de ne new Tcl commands that when evaluated by the Tcl interpreter call C functions de ned by the user. The tcltklibrary sets up the event loop and initializes a Tcl interpreter
Introduction of Chemical Reaction Engineering Introduction about Chemical Engineering 0:31:15 0:31:09. Lecture 14 Lecture 15 Lecture 16 Lecture 17 Lecture 18 Lecture 19 Lecture 20 Lecture 21 Lecture 22 Lecture 23 Lecture 24 Lecture 25 Lecture 26 Lecture 27 Lecture 28 Lecture
and more importantly out of the tank while the pump is running. This constant flushing ensures that the water in the tank remains fresh and eliminates the risk of stagnant water during normal system operation. See fig 2. GT-C, composite tank The GT-C pressure tank is a lightweight pressure tank. The diaphragm is a chlorine-resistant 100 % butyl