570 likes | 726 Views
Lecture 7 and 8. Extended FSM models (RT-level). FSMs have normally only Boolean inputs as conditions and Boolean outputs Sequential logic has both control path and data path. How to describe? How can we include arithmetic in a FSM? One answer is to use a FSMD (FSM with Data path).
E N D
Lecture 7 and 8 Custom Designed Integrated Circuits
Extended FSM models (RT-level) • FSMs have normally only Boolean inputs as conditions and Boolean outputs • Sequential logic has both control path and data path. How to describe? • How can we include arithmetic in a FSM? • One answer is to use a FSMD (FSM with Data path) Custom Designed Integrated Circuits
X<Y X>Y Y=Y-X X=X-Y Extended FSM Models Control path(FSM) FSMD Status signals Control signals Datapath(ALU etc) Custom Designed Integrated Circuits
s1 s2 =? s3 s4 Control Path Extended FSM Models Control signals Condition signals Data Path Custom Designed Integrated Circuits
Extended FSM Models (FSMD) State name Unconditional variable and output assignments State box Condition 0 1 Decision box Conditional variable assignment Condition box Custom Designed Integrated Circuits
Extended FSM Models (FSMD) s0 s0 Block Block s1 s1 s2 Cond assign Moore type Mealy type Custom Designed Integrated Circuits
Extended FSM, UART Project • We want to model the UART. Alternatives: • Sequential language model (just VHDL) • State machine model (FSM) for control and data path. Control and condition signals between control path and data path. • Extended FSM (FSMD with data path) • Model can be manually synthesized to VHDL code which is automatically synthesized to logic Custom Designed Integrated Circuits
Extended FSM, UART Project Buss interface Bit rate generator Bit rate * 16 Receiver Transmitter FSM FSM RX Reg TX Reg Custom Designed Integrated Circuits
Extended FSM, UART Project Synchronous clock and bit clock Do not gate the clock but use a condition! process begin if reset=‘1’ then ......... elsif clk’eventand clk=‘1’ then if bit_clk=‘1’ then -- bit clock= one clk period ......... end if; end if; end process; Custom Designed Integrated Circuits
FSMD for UART Receiver s2 s0 RXRDY=1 Cnt16=0BitCnt=0 RXRDY-set: Strobe one system clock! 0 RX=0 s1 BitCnt=9 Cnt16=Cnt16+1 0 Cnt16=7 0 R=RX & R(9:1) R=Par & R(9:1) BitCnt=BitCnt+1 Custom Designed Integrated Circuits
Design Productivity Gap Moore’s Law Progress in Design Automation Design Productivity Gap Moore’s Law: The capacity of integrated chips doubles every 18-20 months. 108 106 1 65 75 80 85 90 95 2000 Time Custom Designed Integrated Circuits
History of Automation in System Design Levels of Design Representation System Functional Specification Behavioral Specification (VHDL) RTL Design, “C-Code” Logic Level Design, “Machine Code” Physical Design Implementation 2000 Partially 90s 85 80s 70’s Custom Designed Integrated Circuits
Y-Chart Behavioral Domain Structural Domain Flowcharts, Algorithms Register Transfers Processors, Mem, Buses Registers, ALUs, MuXs, . Gates, Flip-Flops - Transistors Boolean Expressions Transistor Functions Transistor Layout Cells, Modules Chips, ASICs Boards, MCM Physical Domain Custom Designed Integrated Circuits
Y-Chart-AXES • Behavioral Axis • Represents functionality: what the system is supposed to do. • Structural Axis • Represents the logical interconnections of components to build the system: how the system is built by interconnecting sub-systems(components). • Physical Axis • Represents the physical implementation of the system. Custom Designed Integrated Circuits
Design Representation in Y-Chart Behavioral Domain Structural Domain Functional Design Flowcharts, Algorithms Register Transfers Processors, Mem, Buses Registers, ALUs, MuXs, . Gates, Flip-Flops - Transistors Boolean Expressions Transistor Functions Transistor Layout Cells, Modules Chip, ASIC Physical Design of a chip • As we move towards the center, we add more details Boards, MCM Physical Domain Custom Designed Integrated Circuits
Representation of Design Processes Behavioral Domain Synthesis Structural Domain Flowcharts, Algorithms Register Transfers Processors, Mem, Buses Registers, ALUs, MuXs, . Gates, Flip-Flops - Transistors Boolean Expressions Transistor Functions Transistor Layout Cells, Modules Chips, ASICs Implementation Boards, MCM Physical Domain Custom Designed Integrated Circuits
High level design / Simulation The efficiency of the designer will increase if she/he designs at a higher abstraction level. It’s possible to design and simulate VHDL on a Behavioural level. The data types etc can be more freely chosen. Special synthesis tools are required to synthesize on behavioural level! Note the difference between behavioural level and behavioural synthesis! We will come to Behavioural synthesis later in this lecture Custom Designed Integrated Circuits
Synthesis Synthesis involves the transformation of system description from behavioral domain to structural domain. • Behavioral Synthesis • Algorithmic description => RTL-design • RTL-design: Design using Registers, adders, muxes etc. • Logic Synthesis • Boolean functions, Finite State Machines => Logic Design • Logic design: Design using gates and flip-flops. Custom Designed Integrated Circuits
Synthesizable/Executable Spec. • Executable Specification It is possible to simulate the specification to determine system behaviour. Some languages give clock accurate simulation (e.g. SystemC). • Synthesizable Specification It is possible to build hardware with equivalent timing and functional behaviour to the specification. (A subset of VHDL is synthesizable) Custom Designed Integrated Circuits
Synthesizable VHDL: Examples Simulation Architecture XYZ of PQR is Signal S1, S2, S3 Begin • • • • • • • • • • S2 <= X and Y; S3 <= S2 or Y after 3 ns; • • • • • • End; Y S2 S3 X Y S2 S3 & 1 It is not possible to ensure the delay to be exact 3 ns. Custom Designed Integrated Circuits
Behavioral and RTL Synthesis Behavioral Synthesis x x - + 4 cycles*15 ns x - + 3 cycles*15 ns x Vary clock period Vary # of clock periods x - + 2 cycles*20 ns x HDL Description Z=a(i)*b(i)-c*d(k)+f Multiple Architectures RTL Synthesis x - + 1 cycle*55 ns x Vary clock period 1 clock cycle Single Architectures Custom Designed Integrated Circuits
MUX MUX X-Reg Y-Reg MUX MUX Comparator - Z-Reg Controller Control Signals Behavioral Synthesis: Illustration ENTITY gcd IS PORT (x_in,y_in: IN bit8; z_out: OUT bit8; clock, start: IN BIT; ready: OUT BIT); END gcd; ARCHITECTURE beh_gcd IS BEGIN PROCESS Variable x,y,z: bit8; BEGIN WAIT UNTIL start = ’1’; X= x_in; Y = y_in; WHILE NOT( X=Y) LOOP IF X > Y THEN X= X- Y ELSE Y = Y-X; WAIT UNTIL clock’event; END LOOP; Z_out = X; ready = ’1’; END Process Custom Designed Integrated Circuits
Behavioral Synthesis/High Level Synthesis Behavioral synthesis translates the behavioral HDL (VHDL) description to RTL-design (Register Transfer Level). Reuse of resources! Control of resource usage done by Control Unit ( comapare to RTL-level) Behavioral Synthesis Steps • Scheduling • To decide time for each operation • Constrains on resources or time • Allocation • Resources: Registers, Memories, ALUs, buses etc. • To decide the type and number of resources required. • Binding • Deciding a specific ALU for each operation • Deciding a specific register for each varible. Custom Designed Integrated Circuits
Behavioral Synthesis/High Level Synthesis • Data path: A number of interconnected components on RTL-level • Control Unit: FSM that generates control signals for Data path • Scheduling To decide time for each operation. Determine in which clock cycle a resource shall be executed. Different function can use the same resource but not at the same time. The scheduler is implemented as a State machine (control unit). • Allocation Allocate resources to operators. Decide the type and number of resources required. • Binding Bind a special resource to a special operation • Latency: Number of clock cycles required to execute a function. • Throughput: How often new data can be clocked into the system. Custom Designed Integrated Circuits
Behavioral Synthesis/High Level Synthesis 1 * * + 2 2 The resources shall be scheduled so the resource with the longest path to end shall be scheduled first. (one method) * 3 * 3 + 4 Custom Designed Integrated Circuits
Behavioral Synthesis/High Level Synthesis • Handshaking / Process synchronization • VHDL code can be correctly simulated on behavioural level. It’s clock accurate. • After Behavioural synthesis the cycle-to-cycle behaviour is changed (due to scheduling and resource allocation). • The processes must be synchronized by handshake signals data ready Custom Designed Integrated Circuits
Behavioural synthesis For special purposes a HW, designed by Behavioural Synthesis, can replace a micro controller and SW (SPP=Single Purpose Processor). Less over headFaster Example: Scheduler in a Real time kernel in HW. RealFast in Västerås Custom Designed Integrated Circuits
Technology Mapping Technology mapping process converts a technology independent design into a netlist of components from a particular technology • Technology independent design (generic) • Gates with any number of inputs or outputs. • Register of any size and with any number of control signals. • Technology dependent components • A gate with 2 inputs and a specified fan-out. • A gate optimized for speed. • A gate optimized for area. • Etc. Custom Designed Integrated Circuits
state A process X process Y state A signals wait for signal send signal state B channel System Modelling C has been used for system modelling and then refined with VHDL. Newer methods: SDL, Specification and Description Language (graphical)SystemC (Class library to C++ for HW modelling) EFSM = Extended Finite State Machine (data path and control path). Control path generated by tool. Custom Designed Integrated Circuits
System Modelling HW and SW co-design and co-simulation. Tools to partion HW and SW New tools or extended “old” tools: Examples C / VHDL 1) SystemC (C++ with class libraries for hardware and communication modelling) 2) Superlog (extended Verilog) 3) Custom Designed Integrated Circuits
IP, Intellectual Property Virtual components / Cores The design efficiency can be increased if tested components are reused. Such virtual components are called IP (Intellectual Property). Hard IP: Technology mapped for a special process or FPGA.Soft IP: Synthesible HDL description (VHDL, Verilog, SystemC etc). Examples of IP blocks : Cores: Micro controllers, DSP, DES encryption modules etc. IO-block: DRAM-controller, UART, USB, Firewire etc Custom Designed Integrated Circuits
CPU USER LOGIC Commu-nication RAM Co Processor IO SoC System On Chip Custom Designed Integrated Circuits
SoC / SOPC System On Programmable Chip New technology (small scale) has high NRE (Nonrecurring Engineering Cost). (1.2 => 0.6 => 0.35 => 0.25 => 0.15 => 0.13 =>0,09 ( ?? m) Today (2003): NRE (0.13 m) $500k-1000k(Write off for a fab is $2Bn+ over 3 years) Q: Who can afford this?A: Big companies with very high volumes.Q: Why do we then study System Level Design? In Sweden only Ericsson designs such circuits.A: FPGAs with built in, hard or soft cores, also require system level design methods. Custom Designed Integrated Circuits
NOC Network on Chip (ING Research) network (packet swiched) switch resourcee.g. CPU 0110 0110 Custom Designed Integrated Circuits
Seems interesting? If System level design seems interesting If Logic synthesis seems interesting If Advanced HW design seems interesting Apply for the Master program in Embedded Systems! Custom Designed Integrated Circuits
ASIC Custom Designed Integrated Circuits
Customer Integrated Circuits ASIC (F)PLD FPGA PAL Gate Array Full Custom Std Cell SoC SoPC CPLD PLD ASIC= Application Specific Integrated Circuit Gate Array= Prefabricated wafer with logic+added interconnections (metal layers). Vol > 10k Standard Cell = Library with components (e.g. gates, multiplexors, flip-flops). Precompiled on transistor level. Vol >100k Full Custom = Transistor level design. Used for analog circuits. SoC = System on Chip. Processors and logic on chip. FPLD = Field Programmable Logic Device. FPGA = Field Programmable Gate Array. >1 milj gates! PLD = Programmable Logic Device CPLD = Complex PLD. <10k gates SoPC = System on Programmable Chip Custom Designed Integrated Circuits
ASIC Design Phases Design • From idea to synthesizable model • From synthesizable model masks Wafer fabrication • To check the fabricated chip • Slicing of wafer into separate chips wire bonding packaging Fabrication Testing Packaging Custom Designed Integrated Circuits
ASIC Design Phase Design Synthesis and Optimization Fabrication Netlist Validation Place & RouteSimulations Testing GDS-II tape Mask set(Photo masks) Packaging Custom Designed Integrated Circuits
ASIC Fabrication Phase Dia= 4”, 6”, 8”.. etcThickness = 0.5 mm Design Silocon wafers Fabrication Semiconductors fabrication Standard cell & Full custom Testing Metal layers inter- connections Only custom stage in Gate Array Packaging Custom Designed Integrated Circuits
ASIC Fabrication Phase Design Fabrication Test vectors Wafer tests(Probing of pads) Testing Test equipment Connection pads Packaging Chip Wafer Custom Designed Integrated Circuits
ASIC Fabrication Phase Design Scribing(Cutting wafers to chips) chip Fabrication Bonding e.g. wire bonding to lead frame Testing Plastic moulding or ceramic packaging Packagingand test Test of circuits Test vectors Custom Designed Integrated Circuits
n-MOS transistor basics Gate oxide Source Drain Gate Positive voltage on the gate will result in a channel of electrons below the gate oxide (inversion => majority carriers will be replaced with minority carriers). - - - - - - - - - - - - - - - - - - - - - - - - p+ n+ n+ Channel (minority carriers=e-) Custom Designed Integrated Circuits
p_MOS transistor basics Gate oxide Source Drain Gate Negative voltage (relative source) on the gate will result in a channel of holes below the gate oxide (inversion => majority carriers will be replaced with minority carriers). p+ n-well n+ p+ p+ + + + + + + + + + + + + + + + + + + + p+ p+ Custom Designed Integrated Circuits
ASIC Fabrication PhasesLithography Si - substrate Si-oxide Si - substrate Photo resist:Organic polymer. Positive photo resist:soluble after exposure with UV-light (shorter and shorter wavelengths required) photo resist Si - substrate UV -light Glass photo mask Si - substrate Si - substrate etching Custom Designed Integrated Circuits
SiO2 Si-substrate SiO2 Si-substrate n-channel MOSFET SiO2 Si-substrate Etching Doping(diffusion / Ion implantation) Si-substrate n+ n+ Poly silicon SiO2 metal connectors Thin oxide Si-substrate Si-substrate n+ n+ SiO2 Si-substrate Custom Designed Integrated Circuits
in out VDD VSS p+ p+ n+ n+ n+ n-well p+ CMOS inverter in Custom Designed Integrated Circuits
CMOS inverter Vout Vin Custom Designed Integrated Circuits
CMOS inverter Custom Designed Integrated Circuits
a & z b z a b CMOS circuits NAND gate P P N N Custom Designed Integrated Circuits