Title: 1.1 VHDL ? ?? ?? ?? ??
11? ??
- 1.1 VHDL ? ?? ?? ?? ??
- 1.2 VHDL ? ASIC ?? ???? ??
- 1.3 VHDL ???, ?? ? FPGA ?? ?
- 1.4 VHDL ?? ?? ? ?? ??
21.1 VHDL ? ?? ?? ?? ??
- ASIC(Application Specific IC)? ??
- ??? ?? ??? IC
- ??? ?? ??? ??
- ?? ??? ??? ??
- ?? ?? ? ??? ?? ?? ??? ??
- ?? ????? ??
- HDL(Hardware Description Language)
- Logic Synthesis System
31.1.1 ASIC ??
- ? ??
- ?? ??(Fabrication or Fab.)
- ?? ?? ?? ?? ?? ??? Mask Pattern ??
- ??? ??, Mask ?? ??? ?? ??
- Mask Pattern ??? ?? ??
- Gate Array ?? ??? ?????? ???? ??? ??
- Standard Cell ??? ?? ?? ?? ? ??? ?? ??
- . Gate density / count ?? ??? NAND, NOR ???? ?
- 80?? ?
- ?? ???
- ??
- 100? ??? ??(1000 ? ?? ??)
41.1.1 ASIC ??
51.1.1 ASIC ??
- ? ?? ?? ??, ? ???? ?? ??
- SoC(System-on-a-Chip)
- ?? ?? ???
- ?? ??? ??
- ?VHDL, ?? ??? ??
61.1.2 ??(Synthesis)
- ?? ??? ??
- Layout, Gate ?? ? RTL ?? ??
- RTL ??? ??? ????? ??
- ?? ??(Logic Synthesis)
- ??? ?? ? Layout ?? ??
- Layout Synthesis, placement routing ??
71.1.2 ??(Synthesis)
81.1.2 ??(Synthesis)
91.1.3 VHDL Verilog
- ???? ??? ??? ???? ?? HDL ? ??
- VHDL
- ???? ?? ??? ??? ?? ???, synthesis? ??? sub-set
VHDL? modeling? ?? guide? ?? - Verilog HDL
- VHDL??? ??? ??? ??? ??? ?? ???? ???, gate ???
simulation ???? ?? ??? - VHDL? ??? ??
- 1980 The USA Department of Defense(DOD) ?? ??
- Self-document,Top-down Strategy and Reusable with
New Technology ??? - 1983 IBM,Texas Instrument? Intermetrics?? VHDL
?? ?? - 1987 IEEE 1076 ??
- VHDL? ???? ???? F-22 Aircraft ??
- EDA(Electronic Design Automation) Vendor?? ???
???? ????? ??.
101.1.3 VHDL Verilog
- VHDL? ??? ??
- 1993 VHDL was revised to IEEE 1076 93
- 1996 IEEE 1076.3(a VHDL package for use with
synthesis tools - std_logic_1164) IEEE 1076.4(VITAL)
- Verilog HDL? ??? ??
- 1983 Gateway ?? Verilog HDL ?? Verilog ??
- 1985 Verilog-XL Simulator ??
- 1989 Cadence bought Gateway
- 1995 IEEE 1364 ??
111.1.4 VHDL ??? ???
- ASIC ??? PCB ??? ???.
- ?? ??? ???.
- Layout, ?? ??, ??? ?? ??
- ?? ??, ??? ???? ??
- ASIC ?? ??(?? ?? ??, ?? ?? ??? ??? ?? ?? ??)
- ?? ??
- Simulator(? ????)
- Function, Gate / Logic, Circuit
- ?? ??
- Abstract ? Concrete
- RTL ? Gate ? Layout
- Extraction ??
- Layout ? Gate ? RTL (?? ??? ?? ??)
- ? ?
- Timing Analyzer, Design Rule Checker,
121.1.4 VHDL ??? ???
- VHDL ?? ??? gate ?? netlist ? ?? ?? ??? ??? ??
- ???? ??? ?? ?? ? ?????? ??? ???? ?
- 25,000 ??? ASIC
- 250 ??? ?? ??
131.1.5 VHDL ?? ??? ??
- ?? ??? ??
- ?? ????, ???? ??? ??, ??? ?? ??, ?? ??, ?? ??
- ??? ?? ??
- ?? ?? architecture ?? ?? ???
- ?? ?? ?? ??? ??(?? ???? ??)
- Timing analyzer ?? ??(critical path delay, setup,
hold time ??) - ???, ??(technology)? ??? ?? ??
- ASIC or FPGA ? ?? ??
- ?? ?? ??
- ?? ?? ??, ???? ?? ?? ??, ?? ?? ??
- Design reasability IP, Library ??? ?? ???? ????
- ? engineer? 30 40 k ???? ?? ?? ??
- ?? ??? ?? ??
- ?? ??? ???? ??(SoC) ??
- ??? ?????? ?? ?? ??, ????? ??
141.1.5 VHDL ?? ??? ??
- ?? ?? ??
- VHDL
- Design, documentation ??
- ???? ??
- IFIP 172, IEEE 1076.X
151.1.6 VHDL ?? ??? ??
- ?? ??? ??
- ?? ?? ?? ???
- ?? ??? ??? RTL ?? ?? ?????
- ?? ?? ?? ? ?? ??(???)
- ??? ?? ??? ?? Delay ??? logic simulation ??
161.1.7 VHDL ??? ??
- VHDL ? ??? ?? ????? ??? ??? ??? ?? !
- ?? ??? ??? ??? ? ?? ?? ? ?? !
- VHDL ??? ?? ?? ??? ???? ?
- ?? ??? engineer? ?? ?? ???? ??.
- ???? ??, ??? ??? ???? ???
- ?? ?? ??? ?? ??? ?? ???? ?? ?
- ?
- ?? ???? ?? ??? ?? ??
171.2 VHDL ? ASIC ?? ???? ??
- 1.2.1 ?? ??? ?? ? ?? ??
- 1.2.1.1 ??? ??? ? ????
- ASIC Random Logic Block, Memory, Mega Function
?? - Random Logic Block ??? ?? ??
- Memory(RAM, ROM), FIFO ?? ?? ????? ? ????
181.2.1.1 ??? ??? ? ????
- ?? ?? ??
- ???
- MUX, DEC, ENC, CMP, LUT, ALU, ADDER, SUBSTRACTOR,
PLA, Parity Generator ? - ?? ?? ??
- Counter ? ?? ??
- Register ? Latch Shift, Accumulator
- ?? ?? ?? Sequencer, FSM, Edge Detector,
Synchronizer ? - Timing Critical Design ? ??? Layout ?? ?? ?? ??
191.2.1.2 ?? ?? ??
- ?? ?? ?? VHDL ?? ????? ??- ??
- ?? VHDL ??? ?? ????? ??
- Synthesizable VHDL Code ? ?? guideline ? ??.
- ?? ?? ?? ??? ???? ??, ASIC ?? ??? ??? ?? ?? ???
?? ? ??. - ?? ??? ??? ???? ???? ??.
201.2.2 ?? ?? ??
- ASIC ?? ????? Top-Down(???) ?? ??? ??
211.2.3 ASIC ?? ????
- ASIC design engineer ? ??
- ??? ??? ??? ???? ?? ??
- ??? ???? ?? IC ? ???? ???? ?? ???? ??? ??? ?? ?? ?
221.2.3 ASIC ?? ????
231.2.3.1 ??? ?? ?? ? ?? ??
- ??? ?? ?? ? ?? ??? ???? ??, H/W? S/W ? ?? ?? ? ??
?? ?? ?????, ?? ??? ?? ?? ??
241.2.3.2 ?? ????? ? ?? ?? ??
- ??? ?? ??, ??, ASIC, ?? IC
- ? ???? ??, ????, ??, ??, ??, ???? ?? ???? ?
- ??
- ASIC ?? ?? ? ??(Spec.) ?? ?????
- ????? ??, timing ??, clock speed ?
- ??? ????? ???? ? ??? ??? ??? ??? ?? ??.
- ?? ??? ??? ? ?? ??? ??? ???? ??
- ??? ??? ?? ????? ?? ??
- VHDL ??? ??? ?
- ??, ?? ???? ??
251.2.3.2 ?? ????? ? ?? ?? ??
261.2.3.2 ?? ????? ? ?? ?? ??
271.2.3.3 ??? ? ????? ??
- ?? ?? ??, testable design ? ?? ?? ??
- Test Plan
- IC? controllability(?? ???), observability(??
???)? ?? ?? ?? ?? ?? ? test pattern? ?? ?? - ASIC? ?? ??(yield)? ??? ?? ??? ??? ??? ??? ?? ??
??? - Simulation Plan
- ? ??(ASIC) ? ???? ?? ????? ?? ?? ??
- ?? ?? ?? ??
- ????? ?? ??? ?? ??
281.2.3.4 ?? ?? ??
- VHDL ?? ??? ?? ?? ? ?? ?? ??
- ?? ??? VHDL ?? ?? ?? ? ?? ???? ??
291.2.3.4 ?? ?? ??
- VHDL ?? ??
- Entity ??? ?? ???
- Entity ?? MUX, Counter, Register ?? Process ???
?? - ??(comment) ??? ??? ?? ??
- VHDL ?? ?? ? ????? ??? ?? ??
- Netlist ?? ?? ????? ?? ??? ???, ?? ??? ?? ??? ??
?? ??? - ?? ??? ??? ?? ???? ??? VHDL ??? ??? ??????(??? ??
??? ???) ???? ?? ???(?? ???????)
301.2.3.5 ?????
- VHDL ?? ?? ??, ????? ??? ?? ?? ??? ?? ??? ?? ??
??? - ??? ?? ??? ASCII ??? ??
- ??
- ??(waveform)
- Breakpoint ??
- Debug
- ????? ??? ?? ?? ??, ?? ?? ? ??
311.2.3.6 ?? ??
- VHDL? ??? ????? ??
- ?? ??
- VHDL ?? ???, ASIC ?? ??, ? ?????
- ? ????? ???? ????, capacitor ??, ?? ??? ??
loading delay ?? ?? - ?? ???, ?? ?, ?? ??, ?? ??, ?? ??(output load) ??
?? ??, critical path ?? ?? ?? ?? ?? ? - ?? ??? ??
- Generic technology gate / function ??? ??
- MUX, DEC, Register, ALU ? ?? ?? ????? ??
- ?? ?? ?? ???
- ?? technology(library) ? ??? ??
- ?? ??? ?? ASIC ?? ??? library cell ?? ???
- ? ???? ?? ?? ?? ?? ?? performance optimization ??
- ?? ?? ?? ?? ? ?? ???(logic minimization) ??
321.2.3.6 ?? ??
- ?? ??
- ?? ??? ??? netlist, schematic diagram, chip
bonding, layout, gate-level logic simulation,
post layout timing simulation ?? ?? - Timing, gate count, critical path delay, ??? ???
?? - ?? ?? ???? ?? ???, ?? ?? ?? ?? ?? ?
- ???? ?? ??? ?? ??? ?? ?? ??
- ??? ???? ?? ??(??? ?, ??? ??)
- ?? ?? ?? ?? ??
- ? ?? ??(?? ?? ??) ?? ????, ??? ?? ??? ?? ?? ?? ??
- ??? ?? ???? ?? ??? ??? ????
331.2.3.7 ASIC ??
- Layout(placement) ? routing ? ?? ???? gate-level
?? ?? ?? - Pre-route signoff ??? ?
- ?? layout ??, ??? ?? ?? ??? ?? ?? ??
- ??
- ?? ??(netlist) ? ????? ?? ??
- ?? ?
- Gate-level logic/timing simulation, timing
analysis, DRC(Design Rule Checking),
ERC(Electrical Rule Checking) ? I/O ? ?? - ?? ?? ?? ??? ?? ??? ?? layout planning ?? ??? ??
?? - Layout planning(floor planning)? ??? ?? ? ??(??,
??? ??) ?? ?? ??? ?
341.2.4 VHDL ?? ???? ??? ??
- Schematic design ?? ???? ???? ??? VHDL ??? ??
???? ???? ??. - ?? ??
- VHDL ??? ?????? ??? ?? ????. ??? ?? ?? ??? ????
??? ?? ?? ?? VHDL ??? ?? ??.(?, schematic design
??? ??? ??? ???? ??? ??? ????.) - ??? ??? ?? ??? ? ? ??? VHDL ??? ?? ???.
- VHDL ?? ? ???? ?????? ?? ?? ?? ?, ???? ASIC ?? ??
?? ??? ?? ?????? ?????, ? ?????? ?? ??? ??? ????
????.(??? ?? ASIC ??? VHDL ??? ?? ?? ?? ??) ???
??? ?? ???? VHDL test bench ? ?? ?? ?????? ?? ???
?? ??? ??? ?? ?? ??.
351.3 VHDL ???, ?? ? FPGA ?? ?
- VHDL ???, ????? ?? ??, FPGA ?? ?? ??
- FPGA
- ??? ??? ??? ? ??
- ?? ???? ASIC ??? ??
- 1.3.1 ??? ?? VHDL ???
- VHDL ??? ?? ?? ??(????) ?? ??? ????
- Top-down design ?? ?? ?? ??? ??
- ???? ?? ??? ?? ????
- ??? ?? ?? ?? ???? ? ??? ??? ?? ?? ??
361.3 VHDL ???, ?? ? FPGA ?? ?
- 1.3.1.1 ??? ?? ?? ???
- ????? ??? ??? ?? ??
- clock, word length, bit ?? ? ??? ?? ???
- PASCAL ?? C ?? ??? ???
- ?? test bench ?? ?? ????
- 1.3.1.2 ???? ?? ?? ???(RTL)
- ???? ?? ? ??? ?? ?????? ??? ?? ??
- Clock, reset ??
- Data bus, register ?? ??? ???
- ?? ?? ? Output lt Input
- ??? ASIC ?? ??? technology ? ???
- Data flow description ???? ?
371.3 VHDL ???, ?? ? FPGA ?? ?
- 1.3.1.3 ??? ???
- Netlist ?? ??? ??
- ??? component ?? ????? ??? ??
- Component? gate, FF, ?? RTL ?? ??
- . ??? ??
- ??? ??? ?? ??? ???? ???
381.3.1.4 ? ??? VHDL ???? ?
391.3.1.4 ? ??? VHDL ???? ?
401.3.1.4 ? ??? VHDL ???? ?
411.3.1.4 ? ??? VHDL ???? ?
421.3.1.4 ? ??? VHDL ???? ?
431.3.2 VHDL ???? ????? ? ?? ??? ?
441.3.2 VHDL ???? ????? ? ?? ??? ?
451.3.2 VHDL ???? ????? ? ?? ??? ?
- ? ??? ?? ??(?? 1-7 ? VHDL ?? ?? ?)
461.3.2 VHDL ???? ????? ? ?? ??? ?
471.3.2 VHDL ???? ????? ? ?? ??? ?
- ? ??? ?? ??(?? 1-13? VHDL ?? ??)
481.3.3 VHDL ???? FPGA ??
- ASIC ? ??
- standard cell, gate array, PLD(Programmable Logic
Devices) - 1.3.3.1 FPGA(Field Programmable Gate Array)
- PLD? ?? ??
- ?? FPGA? ??(?? ?? ?? ?? ???? ??)
491.3.3.2 FPGA ??? ?
501.3.3.2 FPGA ??? ?
- Pre-layout simulation ? post-layout simulation?
??. - Timing analyzer
- Set-up time, hold time, clock trigger ?? ????? ??
??, ?? ?? ??? ?? - Device programming file
- JEDEC ??(Cypress, Warp tool), BIT ??(XILINX)
- ???? ?? ??
511.3.3.2 FPGA ??? ?
521.3.3.2 FPGA ??? ?
531.3.3.2 FPGA ??? ?
541.3.3.2 FPGA ??? ?
551.3.3.2 FPGA ??? ?
561.3.3.2 FPGA ??? ?
571.3.4 ?? ??? ? ?? ???? ?
- ?? ???? ?? ??? ASIC ??? ??
- ?? ???? ??? ?? ??(??? ??) ??? ???? ?
- ??, ?? ???
- Critical path delay ? ??? ?? ?
- VHDL ?? ??? ?? ??
- Sum lt BusA BusB BusC BusD
- Sum lt (BusA BusB) (BusC BusD)
581.3.4 ?? ??? ? ?? ???? ?
- ??? ?? ??? ???? ?? ??
- Y lt A B when select 1 Else CD
- ?? ??? ??? ??
591.3.4 ?? ??? ? ?? ???? ?
- ? ?? MUX ? ? ?? ???? ?????
- Mpx1 lt A when select 1 Else C
- Mpx2 lt B when select 1 Else D
- Y lt Mpx1 Mpx2
- ? ?? ???? ? ?? MUX
- Sum1 lt A B
- Sum2 lt C D
- Y lt Sum1 when select 1 Else Sum2
- . ??? ??? ?? ?? ?? ??(MUX)? ????, ??? ??? ?????
???? ?? ??? ???
601.3.4.1 ?? ??? ???
611.3.4.1 ?? ??? ???
- constant reduction, inverter pair removal
- Karnaugh map, Rand-McClusky Method ?
- ?? ?? ??? ?? ?? ? ????, ?? ??? ??? ? ?? ??.
- 1.3.4.2 ?? ???
- ?? ?? ??? ?? ?? ? ??(?? ???? ??)
- Critical path delay ?? ?? ?? ?? ?? ???? ????? ??
- ??? timing analyzer ??
621.3.4.2 ?? ???
- ?? ?? ?? ? ?? ?? ??? ?? ?? ?? AND-chain ??
- SigA lt 1 when Count 1101000011001010 Else
0
631.3.4.2 ?? ???
641.3.4.2 ?? ???
651.3.4.2 ?? ???
. ??? ? ?????? ???? ?? ? ?? ? ??
661.4 VHDL ?? ?? ? ?? ??
- ?? ?? ?? ?? ??
- ASIC ?? ??? ?? ?? ? ?? ??? ??
- ?? ??? ?? ??
- ?? ?? ?? ?? ? ?? ?? ??
- ??
- ??? ASIC ????? layout ? ??? ??? ?? ??? ??? ????
?? - ?
- ??? ??? ???? ???(??? ???? ???, fanout, ?? ??, ??
?? ? capacitor ?? ?? ?? ?) - ASIC ?? ?? ??? ?? ?????, ??? ??????? ??? ???? ??
- Layout ??? ??? ?? ??? ??(layout ??? ?? ?? ??)
671.4 VHDL ?? ?? ? ?? ??
- ?? ??? ???
- ??? ?? ??? ???(SoC)
- ?? ??
- ??? ??????, ???? ?? ?? ??
- ?? ??? ?? ??? ? ?? ??? ??? ?? ??
- ??? ?? ???
- Formal verification tool, data path compiler,
especial function generator, high-level synthesis
tool - Formal verification tool
- VHDL ??? netlist ? ??, ? ??? ??? ???? ???, ?? ??
??? ??? ???? ???, ??? ??? ???? ?? - ?? ????? ???? ??
- Data path compiler ?? ??? Data Path Unit? bit ??
?? option ? ?? ??, ?? ??, ?? ?? ???.