2022-09-28 09:37 Status: # Digital Tools Programming language where you specify how components are connected or their function. ## Main Languages VHDL/Verilog - Complex digital synthesis - behavioural modelling - also analogue but not as popular now ## Verilog-A and AHDL Simulating a chip in spice is impossible - for a digital chip you don't need spice (too detailed). Need RTL level. Analogue and digital - need to know interface works so crude analogue is fine (behavioural). ## Mixed Simulation - Verilog/VHDL for digital - SPICE for analogue (not too complex analogue) ## Digital Synthesis - Synthesis to technology - FPGA (can change) - ASIC (can't change) - Can make a late decision about what part of the system goes on the [ASIC](ASIC.md) and what on the [FPGA](FPGA.md) - Synthesis using library components - NAND, NOR, flip-flops, inverters, buffers - can be more complicated - e.g. FPGA adders, multipliers, CPU cores else basic components in standard set - Special IP Macros - e.g. RAM, CPU, USB interface (alot of effort - not what you want to do) - Instead buy from someone (vendor gives you the layout and a simulation interface). - Very popular - e.g. ARM core CPU used in alot of places. - Gate delays and wire delays (only fully known when gate is wired up) - Extractions/post layout simulations ## Standard Cells Not commonly used for analogue functions - digital is standard. - NAND, NOR, flip-flops, inverters, buffers Variations: - fan in (number of inputs), fan out (drive a certain size capacitance - large driving nand gate would have a large input capacitance). - Reset/preset - Typical key features - Same height for efficient stacking - abutment connection of power supply so you can place the blocks directly next to each other - not excplicitly routed. - ![](attachments/Pasted%20image%2020220928095210.png#invert) - Standard port placement (metal 1 is horizontal - metal 2 in ports, only metal 1 and poly in the chip if possible in the technology) ![](attachments/Pasted%20image%2020220928095341.png#invert) - Analogue - Opamps - ADC - Voltage references ## Place and Route Placed directly next to each other so Vdd and Gnd are next to each other. Gaps between rows - put in filler cells (power supply decoupling). ![](attachments/Pasted%20image%2020220928095456.png#invert) ### Manhattan routing Don't get into any crowding ## Channel Routing Used for not many metal layers ![](attachments/Pasted%20image%2020220928114459.png#invert) ## Area Routing If lots of metal layers - do all routing on higher metal layers which aren't used inside the cells. ![](attachments/Pasted%20image%2020220928114602.png#invert) ## Place then route vs. Place & Route Combined Delay determined by length of wires so you don't actually know the fan out until you route it - combined place and route is used for more expensive (smaller) processes. [^1] --- # References [^1]: [vr-4602-wk02-sc08-digitaltools](../../Spaces/University/ELEC4602%20–%20Microelectronics%20Design%20and%20Technology/Lectures/W2/vr-4602-wk02-sc08-digitaltools.mp4)