Skip to content

The repository shows the 5 - day wrokshop for beginners using open source tools like yosys, magic, opentimer, qrouter and the purpose of this repository is to provide a complete idea about the 5 - days workshop on VLSI SoC/Physical design using open source EDA tools.

Notifications You must be signed in to change notification settings

vishnuvardhan-k/vsd-physical-design-using-open-source-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VSD PHYSICAL DESIGN USING OPEN SOURCE TOOLS

The repository shows the 5 - day workshop for beginners using open source tools like yosys,magic,opentimer,qrouter and the purpose of this repository is to provide a complete idea about the 5 - days workshop on VLSI SoC/Physical design using open source EDA tools.

Contents of 5 - Days Workshop:

  • Day 1 - Study and Review Various Components of RISC-V based PicoSoC

  • Day 2 - Chip Planning Strategies and Introduction to Foundry Library Cells

  • Day 3 - Design and Characterize one Library Cell using magic Layout Tool and ngspice

  • Day 4 - Pre-Layout Timing Analysis and Importance of Good Clock Tree

  • Day 5 - Final Steps for RTL2GDS

Day 1 - Study and Review Various Components of RISC-V based PicoSoC

IC TERMINOLOGIES :

Package QFN - 48 is manufactured by germany labs. The full form of QFN is Quad Flat No leads and the number 48 represents the number of ports of the chip.The package dimensions are 7mm * 7mm.

1

		QFN - 48

Pads are one of the important components of the chip, which is used to send the signals to inside the chip and receive the signals from inside to outside and viceversa. core is a section of chip where we place the all digital components. A Die is a small block of semiconducting material on which a given functional circuit is fabricated.

2

RISC - V OVERVIEW:

1.RISC - V available in various flavours i.e genealogy

2.RV32 has 32 - bit instructions

  1. Suffixes specify available extensions -I : basic integer instruction set; -M : hardware mulptiplier/divider; -C : compressed instruction set (16 - bit)

PICORV32 OVERVIEW:

key features: 1. small size 2.high clock speed 3.native memory interface 4.optional IRQ support

IC DESIGN COMPONENTS:

				Logic synthesis - yosys open synthesis suite

				Floorplanning, Placement and CTS - graywolf

					Routing - qrouter

				Static Timing Analysis - opentimer

				pre-layout/post-layout simulation - ngspice

					schematic editor - esim

ngspice - General purpose circuit simulation programs for both non linear and linear analysis.

magic - Vlsi layout editor, extraction and DRC tool

opentimer - Open sourece high performance timing analysis tool

esim - Complext circuit design, SPICE simulation and analysis and PCB design

qflow - Tool chain for complete RTL2GDS flow

DAY1 LAB SKILLS:

yosys is synthesis tool which is used to convert the rtl code into gate level netlist. To open the yosys tool, we use the command yosys.

d1sk4

“which” is command used to shows the loction/directory path of tool/folder.Linux which command is used to identify the location of a given executable that is executed when you type the executable name (command) in the terminal prompt. The command searches for the executable specified as an argument in the directories listed in the PATH environment variable.

D1SK4-MCQ4

==> git clone is a Git command line utility which is used to target an existing repository and create a clone, or copy of the target repository.

D1SK4-MCQ5

==> The cd command, also known as chdir (change directory), is a command-line shell command used to change the current working directory in various operating systems. It can be used in shell scripts and batch files.cd vsdflow command is usedchange the directory to vsdflow folder../vsdflow spi_slave_design_details.csv is to initialize the design.The ls command lists the contents of a specified directory, excluding dotfiles. If no directory is specified then, by default, the contents of the current directory are listed. Listed files are sorted alphabetically.ls -ltr outdir_spi_slave | wc will show you the total 17 number of lines beacuse 1st line will give total number and the rest 16 are the number of flies.

D1SK4-MCQ6

cd outdir_spi_slave command change the directory to outdir_spi_slave and the qflow display spi_slave command open and display the qflow manager where you do preference,synthesis,placement and so on.Qflow(complete tool chain) is a complete tool chain for synthesizing digital circuits starting from verilog source and ending in physical layout for a specific target fabrication process

These commands open two windows 1.layout window 2. Tkcon window

D1SK4-MCQ7_1

1st select the chip area and then type the command box in tkcon window.it shows the selected area in microns.

D1SK4-MCQ7_2

D1SK4-MCQ7

cd vsdflow is a command change the directory to vsdflow, mkdir is a command create the folder, cd my_picorv32 is a command to change the directory to my_picorv32, mkdir source synthesis layout is a command to create folders source, synthesis and layout, cp ~/vsdflow/Verilog/picorv32.v/source/. - copy the Verilog file i.e picorv32 from source to vsdflow, qflow gui &- it open qflow manager in a graphical user interface.

These commands open qflow manager window

				set technology = osu018

				Verilog source = picorv32.v

				Verilog module = picorv32

What is the % ratio of flipflop/total logic ?

D1SK4-MCQ8_1

After entering the commands shown above, it opens a qflow manager and we set the preferences,technology = osu018, Verilog source = picorv32 and verilog module = picorv32. Click on start button opposite the preparation. If it is okay, then proceed to synthesis. Click on okay opposite to synthesis, it opens a synthesis log file. Synthesis file shows the number of cells, number of flops and etc.

D1SK4-MCQ8_2

		Ratio of flops to logic cells = Total number of flops / Total number of cells

D1SK4-MCQ8

     				Number of cells = 13197

    			  	Number of flops = 1613
     
		Ratio of flops to total logic  = 1317/1613 = 12.22%

Day 2 - Chip Planning Strategies and Introduction to Foundry Library Cells

core is the section of the chip where the fundamental logic of the design is placed. Adie ,which consists of core ,is a small semiconductor material specimen on whcih the fundamental circuit is fabricated. A ** netlist** describes the connectivity of a electronic design.

5

If the logic cells occupies the complete area of the core,then this is called as 100% utilization. The Utilization Factor is defined as the ratio of area occupied by netlist to total area of the core. 100% utilization means utilization factor is 1.0.In practical scenario, we can only use 60 - 70 % utilization.

				utilization factor = area occupied by netlist/Total area of the core

aspect ratio is defined as ratio of height to width of the core. If the aspect ratio is 1 then the chip is in square shape and if it is 0.5 then the chip is in rectangle shape.

					Aspect ratio = height of the core / width of the core

Define locations of preplaced cells:

===> The arrangement of these IP's/blocks in a chip is reffered as floorplanning

===> Pre placed cells - These blocks have user defined locations and hence are placed in chip before automated placement and routing and are called as pre-placed cells.Examples of preplaced cells are memories,mux,multiplier etc. once there placed,it can't be touched by placement and routing tools. Automated placement and routing tool places the remaining logical cells in the design onto chip.

===> The prepalced cells has been placed in the core, depending upon the design scenario. Foe example,preplaced cells have more input connections then they are placed near to input side.

6

surround preplaced cells with decoupling capacitors:

===> During switching operatons, the ckt demands swichting current i.e peak current (I peak).

7

===> Due to the presence of resistance and capacitance, ther will be a voltage drop acroos them and the voltage at node A would be vdd'(0.7 v instead of 1v) . If the voltage goes below the noise margin,the logic 1 at the output of the circuit wont be detected.

noise margin summary:

For any signal to be considered as logic 0 and logic 1 , it should be in the NML and NMH respectively.If there is a huge difference between the vdd and vdd' then it comes into undefined region in noise margin levels.

8

For this problem, we have a solution i.e adding decoupling capacitors parallel to the circuit.Every time the circuit switches, it draws currents from the decoupling cap, wheras RL network is used to refill the charge into decoulping capacitor.If there are any power hungry circuits in the design, we place the decoupling caps close to them physically.

POWER PLANNING: Decoupling caps take care of local communication but for global communication, we use power planning.9

All the caps, which were charged to v volts will have to discharge to 0 through single ground point. This will cause a bump in groung tap point and it is called as ground bounce.All the caps, which were at 0 volts will have to charged to v through single power point. This will cause a bump in power tap point and it is called as votlage droop.

instead of single power supply, we will use multiple supplies so that we can avoid voltage droop and ground bounce.power planning can be done in mash shape.

10

PIN PLACEMENT and LOGIC CELL PLACEMENT BLOCKAGE: The connectivity info between gates is coded using VHDL/Verilog lang. and it is called as netlist. Pin placement is used the space between die and core. Frontend team defines the netlist connectivity and backend team defines the pin placement. Clock ports are bigger in size compared to data pins, the reason is clock is continuouslly driven the all flops in the design so we need least resistance as we know that resistance is inversely propotional to area.

LOGICAL CELL PLACEMENT BLOCKAGE: It blocks the particular area in between the die and core so that automated placement and routing tools can't be placed the logical cells into the area.The floorplan is ready for placement and routing.

11

PLACEMENT & ROUTING:

bind netlist with physical cells: Library has different flavours of gates/cells with different sizes, different threshold voltges and different timing information. once we are given proper size/shape to the gate/cell then we go for placement.

Placement: Placement is the process of determining the locations of circuit devices on a die surface.

Optimize placement based on estimated wire length and capacitance: This is the stage where we estimate wire length and capacitance ,based on that we place repeaters. To maintain signal integrity between the input ports to flops so we use repeaters in between them. Slew depend upon the vaule of the capacitance.The higher the value of cap, the amount of charge required to charge the cap will high because of that slew will be bad.

need for library and characterizaton: From RTL2GDSII, one thing is common for all stages i.e is library.All the standard cells being placed in a section is called library.It consists of different sizes/shapes of the gates,different functionality of the gates and differnet Vth (LVT,HVT,SVT) cells. Vth = 0.4v inverter takes more time to switch compare to vth = 0.3v inverter.

CELL DESIGN FLOW: It divided into 3 parts : 1. inputs 2. Design steps 3.outputs

1.Inputs: Process Design kit's,DRC & LVS,SPICE models,library and user definend specs.

DRC & LVS: Technology file provides the lambda rules. For example, polywidth should be 2λ or more than that.

					λ = L/2 where L = min. feature size

llibrary and user defined specs:

cell height : The separaton between power rails and ground rails decides the cell height.

cell width : Cell width depends upon the timing info.if cell drive strength is lower, it's difficult for that cell to drive the huge wire length

power supply : A typical inverter has to operate at certain voltage which is provided by the top level designer.

2. circuit design stpes:

i. circuit design: 1.implement the function 2.model the design in order to meet the library requirements.

ii. layout design: art of layout is a combination of eluer,s path and stick diagram

1.function implemented into set of Pmos and nmos 2.get the pmos netwrok graph and nmos netwrok graph 3.get the euler's path and then draw stick diagram 4.draw layout 5.extraxt spice model which consist the info of parasitics (R,C)

12 13

3.Characterization: It is the step that will help to get the info of timing,noise and power.GUNA tool is used for timing,noise and power characterization.

TIMINIG CHARACTERIZATION: Timing and delay information is important to the ASIC design process because it allows a level of realism to be incorporated into the circuit model.

propagation delay: Propagation delay typically refers to the rise time or fall time in logic gates. This is the time it takes for a logic gate to change its output state based on a change in the input state. It occurs due to inherent capacitance in the logic gate.

						tp = time(out_*_thr) - time (in_*_thr)

14

choosing threshold points is very important. If we haven't take care this, propagation delay will be -ve.There are 2 situations for tp = -ve, 1. if the threshold points are moved to above then tp is -ve and 2. if the circuit is designed not properly, it has hage wire delays then it leads to -ve propagation delay.

15

Transition delay: Transition delay or slew is defined as the time taken by signal to rise from 10 %( 20%) to the 90 %( 80%) of its maximum value.

16

DAY2 LAB SKILLS:

First we have to change the directory to vsdflow using the command cd vsdflow,and then make a directory name my_picorv32 using the command mkdir my_picorv32 then change the directory to my_picorv32 and mkdir source synthesis layout is a command to create folders source, synthesis and layout, cp ../Verilog/picorv32.v source/ - copy the Verilog file i.e picorv32.v, qflow gui &- it open qflow manager in a graphical user interface.

qflow

After entering the commands shown above, it opens a qflow manager and we set technology = osu018, Verilog source = picorv32 and verilog module = picorv32. Click on start button opposite the preparation. If it is okay, then proceed to synthesis. Click on okay opposite to synthesis, it opens a synthesis log file. Synthesis file shows the number of cells, number of flops and etc.

placement2

1st select the chip area and then type the command box in tkcon window.it shows the selected area in microns.

layoutofpicorv32

The below images shows the pins(clk,rstn) in bottom of chip.first we group them and then select the pin arrange to bottom.

bottom_group

The below image shows the chip area which is selected in the layoutsection.

chipsize

Day 3 - Design and Characterize one Library Cell using magic Layout Tool and ngspice

1.SPICE deck Creation for CMOS Inverter:

SPICE Deck: it is the information of component connectivity,intput and output. substrate/body of pmos is connected to vdd and nmos substrate/body is conncted to vss.

component values :

			M1:PMOS : W/L = 0.375u/0.25u
			
			M2:NMOS : W/L = 0.375u/0.25u
			
			cap : Cload = 10fF
			
			vin = 2.5v and vdd = 2.5v

18

17

ideally,pmos should be twice/trice bigger than nmos.

SPICE Waveform: It is the transfer characteristics of the inverter.

19

SWITCHING THRESHOLD(Vm): Integrity and robustness,expressed by the static (or steady-state) behavior. CMOS Inverter robustness, defines certain parameters and one of thing is switching threshold. switching threshold (Vm) means the point at which the device switches.draw a tan 45 line in DC characteristic i.e vout vs vin.

19

Vm has a critical area because of 1. Vin = Vout 2.Both pmos and nmos arein the sat. region 3.if both nmos and pmos are turn on, there is a leakage current flow from power to gnd.The effect of changing the Wp/Wn ratio is to shift the transient region of the VTC. Increasing the width of the PMOS or the NMOS moves VM towards VDD or GND respectively.

Layout: Art of layout is a combination of euler's path and stick diagram.

using pull up network, we can build pull down network using duality theorem and demorgan's theorem.pull down network is complementary function of pull up network and thats where duality and demorgan's theorems comes into picture.

22 23

The function of the circuit f = ((A+C).(B+D) + (E.F))'

Layout using only stick diagram: These are the problems comes into picture, if we are only using stick diagram to draw a layout.

										1. Congestion problem
										2. DRC rule issues
										3. Manufacturing issues

26

Layout diagram using Euler's path and stick diagram: stick diagram is a interface between circuit and final layout. Euler's path is defined as it is the path that covers each vertices atleast once. Optimize euler's path gives optimize layout.

27 Optimize euler's path A - C - E - F - D - B

28

Design Rules Check (DRC): Afte completion of the layout, you need to check the design rule. It is very important step for the post layout simulation and fabrication of a chip.

				polywidth				2λ
				
				metal width				3λ
				
				poly to active spaceing			1λ

DAY3 LAB SKILLS

git clone is a Git command line utility which is used to target an existing repository and create a clone, or copy of the target repository and change the directory to ngspice using the command cd ngspice . ngspice is a tool which is used for circuit simulation.The cat command allows us to create single or multiple files, view contain of file, concatenate files and redirect output in terminal or files. The cat inv.spice is open the file of inverter which shows the netlist description of the inverter and also it shows the pmos and nmos width(Wp,Wn),length(Lp,Ln) and load capacitance value i.e used in the design.

D3SK1-MCQ5

The cd command, also known as chdir (change directory), is a command-line shell command used to change the current working directory in various operating systems. It can be used in shell scripts and batch files.cd ngspice_labs command changes the directory into ngspice_labs. ngspice is a circuit simulation tool used to simulate the dc and transient characteristics of different gates/cells.ngspice inv.spice command open the simulataion tool and the design is inverter.ngspice 1 -> run is used to run the fn_prelayout.spice. setplot tran1 is used to set the plot in dc mode. plot is a command, which is used to plot simulated waveforms with respect some input in this case input (50% of the power supply) i.e 1.25.This will open a plot with CMOS VTC and Blue 45 degree line

D3SK1-MCQ8

The below diagram shows the VTC characteristics of an inverter. The blueline(tan 45) intersecting the VTC curve that is called as switching threshold voltage(vm). swicthing threshold is the point where vin = vout and at which both p & n mos turned on and they are in saturation region.

D3SK1-MCQ8_1

By using leafpad inv.spice command opens the inv.spice file and then edit the pmos width into 0.75u and then perform the dc simulation in ngspice simulation tool.The below figure shows that cmos model description and the w/l ratios of both pmos and nmos.After changing the width of pmos,the transfer characteristic curve shifts to right side.

D3SK1-MCQ10_2

The below images shows the all the commands and switching threshold value(vm) i.e x0

D3SK1-MCQ10_1

D3SK1-MCQ10

The leafpad is a application which is used to open the files. ngspice is a circuit simulation tool used to simulate the dc and transient characteristics of different gates/cells.By using leafpad inv.spice command opens the inv.spice file and then edit the pmos width into 0.75u and then perform the dc simulation in ngspice simulation tool.The below figure shows that cmos model description and the w/l ratios of both pmos and nmos.After changing the width of pmos, ngspice 1 -> run is used to run the fn_prelayout.spice. setplot tran1 is used to set the plot in dc mode. plot is a command, which is used to plot simulated waveforms with respect some input in this case input (50% of the power supply) i.e 1.25.This will open a plot with CMOS VTC and Blue 45 degree line

The below images shows the all the commands, which are used to open the simulation D3SK1-MCQ11_0

The below figure shows the values of input fall time at 50% of power supply (1st x0) and output rise time at 50% of power supply(2nd x0)

D3SK1-MCQ11

The below image shows the trainsient charecters of an inverter if input = 0v then output =2.5v(in this case) . it depends on the technolgy.

D3SK1-MCQ11_1

The cd command, also known as chdir (change directory), is a command-line shell command used to change the current working directory in various operating systems. It can be used in shell scripts and batch files. ngspice is a circuit simulation tool used to simulate the dc and transient characteristics of different gates/cells.Change the directory to ngspice_labs and then open simulation tool with the command - ngspice fn_prelayout.spice . ngspice 1 -> run is used to run the fn_prelayout.spice. setplot tran1 is used to set the plot in transient mode. plot is a command, which is used to plot simulated waveforms with respect some input in this case input (50% of the power supply) i.e 1.25.

The below figure shows the respective commands shown above:

D3SK2-MCQ1_0

The below figure shows the value of x0 at the intersection of horizontal blue line(50% of the power supply) and middle rising waveform (50% of power supply):

D3SK2-MCQ1

The below image shows transient waveform:

D3SK2-MCQ1_1

D3SK2-MCQ1_2

The below figure shows the value of x0 at the intersection of horizontal blue line(50% of the power supply) and middle rising waveform (50% of power supply):

D3SK2-MCQ2 D3SK2-MCQ2_1

The rise/fall time values of 10% and 90% are calculated based on an algorithm, which looks at the mean power above and below the 50% points of the rise/fall times. The pulse width is based on the 50% points in linear power (W) mode.

D3SK2-MCQ3

cd ngspice_labs is used the change the directory to ngspice_labs. magic is a tool which is used to construct the layout.Integrated circuit layout, also known IC layout, IC mask layout, or mask design, is the representation of an integrated circuit in terms of planar geometric shapes which correspond to the patterns of metal, oxide, or semiconductor layers that make up the components of the integrated circuit. source draw_fn.tcl is run the drwa_fn tcl file and it draw a layout for the function. The layout consist of polysilicon straps, n- well, metal contacts with width 3lambda and etc.

The below figure shows the command which are used to open magic tool with a technology file. The technology file consist of all the design rules that must be satisfy to draw a layout.

D3SK3-MCQ3_1

D3SK3-MCQ3_0

The below image shows the layout diagram of a function. In the layout, the pink color strips are polysilicon strips and bottom of the layout shows the gnd terminal and it has contacts which are used to connect the ground terminal.

D3SK3-MCQ3

cd ngspice_labs is used the change the directory to ngspice_labs. magic is a tool which is used to construct the layout.Integrated circuit layout, also known IC layout, IC mask layout, or mask design, is the representation of an integrated circuit in terms of planar geometric shapes which correspond to the patterns of metal, oxide, or semiconductor layers that make up the components of the integrated circuit.The layout consist of polysilicon straps, n- well, metal contacts with width 3lambda and etc. The below figure shows the command which are used to open magic tool with a technology file. The technology file consist of all the design rules that must be satisfy to draw a layout.

The below figure shows the above commands which are used to open magic tool: D3SK3-MCQ4_0

The below figure shows the layout of a function and select the whole to find the area of the design. D3SK3-MCQ4_1

In tkcon window type box,after selecting the whole chip then only it shows the area of the design in microns. D3SK3-MCQ4

After sourcing the draw_fn.tcl. we will extract all files and also spice files by using the commands extract all and eext2spice. From ther we fn.postlayout.spice, then this file is edited as it doesn't consists of vdd and gnd info. For the stimulus to obtain those were copied from the fn_layout and added to the fn_postlayout and then the simulation is done.

D3SK3-MCQ5_0

Extract all command is used to extract all parasitics and it creates a file name fn_postlayout.ext

D3SK3-MCQ5_3

The below figure shows the transient response: D3SK3-MCQ5_1

1st x0 shows the rise time and 2nd x0 is the fall time of the above transient analysis:

D3SK3-MCQ5

Day 4 - Pre-Layout Timing Analysis and Importance of Good Clock Tree

Delay Table: At every level, Each buffer varies output load capacitance and input transitions/slew. in simple way, we have varying input transition at input buffer and varying output load at output load at the output buffer.so that we have different delays for one buffer/cell and solution for that is delay table. Delay Table is the representation of delays of a particular cell while varying the input slew and output load.

Timing Analysis:

setup timing analysis: The setup time is the interval before the clock where the data must be held stable.

29

hold timing analysis: The hold time is the interval after the clock where the data must be held stable. Hold time can be negative, which means the data can change slightly before the clock edge and still be properly captured.

30

Clock Tree Routing: It is very important setp for the performance. H - tree is used to build the clock tree. The main objective of clock tree routing is minimazation of the skew. In clock routing, we clock buffers. there is a differnce in clock buffer and normal buffer that clock buffer have equal rise and fall time but in case of normal buffer it's not.

cross talk: Crosstalk is a phenomenon, by which a logic transmitted in vlsi circuit or a net/wire creates undesired effect on the neighbouring circuit or nets/wires, due to capacitive coupling. If there is a crosstalk between two nets then all the parameters(input transition/slew ) are deteriorates.

31

Shielding: shielding is placing ground or power lines at the sides of a. victim signal line to reduce noise and delay uncertainty. clock nets are considered as critical nets, by shielding the clock net we will protect the clock net from the outside world.

DAY4 LAB SKILLS:

git clone is a Git command line utility which is used to target an existing repository and create a clone, or copy of the target repository and ngspice is a tool which is used for circuit simulation and change the directory to ngspice_labs.The cat command allows us to create single or multiple files, view contain of file, concatenate files and redirect output in terminal or files and cat inv_tran.spice- it open the inv_tran.spice file. The file contains the info of the pmos and nmos that is width,length and the input pulse signal shows the rise slew and fall slew values.

The below figure shows the netlist description of a inverter. in that image, vin is a pulse with time period = 2ns,pulse width = 1ns,rise and fall slew = 10ps.

D4SK1-MCQ6

The below figure shows the netlist description of a inverter. in that image, cload represents the load capacitance of 10fF.

D4SK1-MCQ7_2

The below figure shows the transient response of a inverter. from that, we calculate rise time delay. It is difference between rise time of output(1st x0) to fall time input(2nd x0).

D4SK1-MCQ7_1

D4SK1-MCQ7

git clone is a Git command line utility which is used to target an existing repository and create a clone, or copy of the target repository and ngspice is a tool which is used for circuit simulation and change the directory to ngspice_labs.The cat command allows us to create single or multiple files, view contain of file, concatenate files and redirect output in terminal or files and cat inv_tran.spice- it open the inv_tran.spice file. The file contains the info of the pmos and nmos that is width,length and the input pulse signal shows the rise slew and fall slew values. Leafpad used to open the file and then we change the load value to 20fF.

D4SK1-MCQ8

The image is after editing the output load capacitance.

D4SK1-MCQ8_1

It is the transient response of the inverter:

D4SK1-MCQ8_2

rise delay is difference between rise time of output(2nd x0) to fall time input(1st x0).

D4SK1-MCQ8_0

leafpad /usr/local/share/qflow/tech/osu018/osu018_stdcells.lib opens the standard cell library with the technolgy of 180nm. The file will shows all info like slew_upper_thershold_pct_fall,output_threshold_pct_rise, various sizes of cells and their timing info.

D4SK2-MCQ6_1

The below figure shows the library file of 180nm technolgy. It contains all standard cells like and,or,inv,mux and etc.

D4SK2-MCQ6

What are the 2 variables of "delay_template_5x5"?

D4SK2-MCQ8

Which cell delay table in line number 2943?

D4SK2-MCQ9

Which delay template is used for INVX1?

D4SK2-MCQ10

The cd command, also known as chdir (change directory), is a command-line shell command used to change the current working directory and change the directory to vsdflow/my_picorv32. sta command is used to run the prelayout.conf file.

D4SK2-MCQ11_1

The leafpad picorv32.sdc is used to open picorv32.sdc . In sdc, we create a clock with period of 2.5ns with pulse width 1.25ns and the clock name is clk.

11

leafpad is used to open and then modify the contents with the below commands in prelayout_sta.conf. read_liberty /usr/local/share/qflow/tech/osu018/osu018_stdcells.lib is command used to read the library file in the given path. read_verilog synthesis/picorv32.rtlnopwr.v is a command read the verilog file in the given path. read_sdc picorv32.sdc it reads the synopsys design constraints. report_checks it reports the timing info like slack,data arrival time and required time.

12

The below image shows the setup timing analysis. it shows the data rquired time, data arrival time and slack. slack is the difference to data requirerd time to data arrival time.

D4SK2-MCQ11_2

% report_checks -digits 4 is a command used to check the timing info with 4 digits.

What is the data arrival time and required time?

D4SK2-MCQ12_1

D4SK2-MCQ12

The cd command, also known as chdir (change directory), is a command-line shell command used to change the current working directory and change the directory to vsdflow/my_picorv32. sta command is used to run the prelayout.conf file.The leafpad picorv32.sdc is used to open picorv32.sdc . In sdc, we create a clock with period of 2.5ns with pulse width 1.25ns and the clock name is clk.leafpad is used to open and then modify the contents with the below commands in prelayout_sta.conf. read_liberty /usr/local/share/qflow/tech/osu018/osu018_stdcells.lib is command used to read the library file in the given path. read_verilog synthesis/picorv32.rtlnopwr.v is a command read the verilog file in the given path. read_sdc picorv32.sdc it reads the synopsys design constraints. set_propagated_clock [all_clocks] is a command which set the clock propagates through all clocks. report_checks it reports the timing info like slack,data arrival time and required time.

What is the SLACK value after clock propagation ?

These are the commands which are used to open sta. Static timing analysis (STA) is a method of validating the timing performance of a design by checking all possible paths for timing violations.

D4SK4-MCQ2_1

D4SK4-MCQ2_2

The below figure shows the slack after the propagation of the clock i.e post static timing analysis.

D4SK4-MCQ2

What is launch clock network delay or clock network delay propagated ?

13

What is the capture clock network delay?

14

The cd command, also known as chdir (change directory), is a command-line shell command used to change the current working directory and change the directory to vsdflow/my_picorv32. sta command is used to run the prelayout.conf file.The leafpad picorv32.sdc is used to open picorv32.sdc . In sdc, we create a clock with period of 2.5ns with pulse width 1.25ns and the clock name is clk.leafpad is used to open and then modify the contents with the below commands in prelayout_sta.conf. read_liberty /usr/local/share/qflow/tech/osu018/osu018_stdcells.lib is command used to read the library file in the given path. read_verilog synthesis/picorv32.rtlnopwr.v is a command read the verilog file in the given path. read_sdc picorv32.sdc it reads the synopsys design constraints. set_propagated_clock [all_clocks] is a command which set the clock propagates through all clocks. report_checks -path_delay min -digits 4 it reports the timing info like slack,data arrival time and required time of hold analysis.

What is library hold time and hold slack?

Setup and hold slack is defined as the difference between data required time and data arrival time. setup slack= Data Required Time - Data Arrival Time. hold slack= Data Arrival Time - Data Required Time.

D4SK4-MCQ5

Day 5 - Final Steps for RTL2GDS

Routing: In the vlsi design cycle, routing follows cell placement. To interconnect all the pins according to the specification of nets its konwn as routing. once routing is completed, precise paths are defined on the layout surface on which conductors carrying electrical signals are run. The main objective of routing is to minimize the area required for routing.

There are 3 types of routing:

  1. Grid/area routing

  2. Global routing

  3. Detailed routing

Design Rule Check: These design rules in the technology file. for every technology, the design rules changes.

There 3 typical design rules for the pairs of wires, which are running parallel.

  • Wire Width : The wire has min. width or more than that is okay

  • wire pitch: The centre to centre distance between 2 wires called as wire pitch.

  • wire spacing: wire to wire maintain min.spacing or more than that

If signal short occur, we route one of the signal into another metal layer.

Parasitic Extraction:

Each and evry wire has got finite resistanc and capacitance and we have to extract it and then provides to analysis tool. Parasitic extraction represent in a special format known as SPEF Format. SPEF full form is Standard Parasitic Exchange Format

** SPEF : standard parasitic exchange format** IEEE 1481 - 1999

The above two lines are SPEF Header

32

DAY5 LAB SKILLS

The cd command, also known as chdir (change directory), is a command-line shell command used to change the current working directory and the current directory is /vsdflow/my_picorv32 and then start the routing for picorv32 using the command qflow route picorv32. After completing the 3 stages of routing,open sta for picorv32. BACKANNO -- Annotate the Subcircuit Pin Names to the Port Currents. ... raw file that can be used to refer to port currents by the pin name. This allows you to cross probe pin currents by clicking on the symbol's pin and then open the log file of sta for the design and it shows the pre-layout frequency

D5SK2 - MCQ1_1

D5SK2 - MCQ1_2

It is the max. frequency in prelayout and which is 313.676MHz

D5SK2 - MCQ1

The cd command, also known as chdir (change directory), is a command-line shell command used to change the current working directory and the current directory is /vsdflow/my_picorv32 and then start the routing for picorv32 using the command qflow route picorv32. After completing the 3 stages of routing,open sta for picorv32. BACKANNO -- Annotate the Subcircuit Pin Names to the Port Currents. ... raw file that can be used to refer to port currents by the pin name. This allows you to cross probe pin currents by clicking on the symbol's pin and then open the log file of sta for the design.without completion of routing the post layout frequency is not shown in the file.log/post_sta.log shows the maximum frequency of the postlayout.

D5SK2 - MCQ2_2 - Copy

D5SK2 - MCQ2_1

It is the max. frequency in postlayout and which is 293.556MHz

D5SK2 - MCQ2

ACKNOWLEDGEMENT:

  • Kunal Ghosh Co-founder of VLSI System Design (VSD) Corp. Pvt. Ltd.

About

The repository shows the 5 - day wrokshop for beginners using open source tools like yosys, magic, opentimer, qrouter and the purpose of this repository is to provide a complete idea about the 5 - days workshop on VLSI SoC/Physical design using open source EDA tools.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published