Title: ASIC? ??
1ASIC? ??
- ASIC(Application Specific Integrated Circuit)
- ?? ?? ??? ????
- ???? ???? ?? ??? ???? ??, ??? IC
- ?? ?? Memory? ?? ?? ?? IC? ??? ?
- ??? ? ?? IC
- ?? ?? Standard Cell, Gate Array, PLD
- ??
- ?? ?? ?? ??
- ??? ???
2ASIC? ??
3?? ???(Full Custom) IC
- ?? ??? IC
- ?? ??? ??? ??? ??? ???? ?? ??? IC
- ?? ??? ?? ?? ??? ?? ???
- ?? ??? ???? ??, ???? ??? ?? ??? ??
4? ???(Semi Custom) IC
- ???? IC
- ???? ??? ??? ???? ??? IC
- ?? ??? IC? ?? ?? ??? ?? ?? ??? ??
- Gate Array / Standard Cell
- Gate Array TR? ???? ???? ?? ??? ??
- ? ??? ?? ???? ?? ??
- Standard Cell ??? ???? ?? ?? ?? ??
- ???? ??? IC? ??
ltStandard Cellgt
5PLD
- PLD(Programmable Logic Device)
- ??? ???? ???? ???? ??? ??
- ?? ??? ??? ?? -gt ??? ?? ?? ??
- ?? ??? ???? ????? ?? / ?? ?? ??
- ??/??
- ??
- ?? ?????? ?? ??
- ?? ???? ??? ASIC ?? ??
- ?? ??? ????? ??
- ??
- ?? ??? ?
- ??? gate ?
6SPLD
- SPLD(Simple PLD)
- ?? ?? ??? ??(AND)? ?(OR)?? ??? ? ??? ?? ???? ??
?? - ? F AB AB
- PLA(Programmable Logic Array)
- Programmable AND/OR
- PAL(Programmable Array Logic)
- Programmable AND
7CPLD
- CPLD(Complex PLD)
- ?? ?? ??? ?? ??????? ?? ??? ??
- ?? ?? ?? ?? SPLD ??? ??
- SPLD ?? ? ?? ?? ??? ??????? ??
- ??? ???? ??? ??? ?? ?? ?? ??? ??
8FPGA
- FPGA(Field Programmable Gate Array)
- FF? ?? ?? ?? ??? ??
- ??? ?? ??(LC)? ??? ???
- LC ??? ??????? ??
- ???? ??
- ???? ???? ??? ?? ????
- ??? ?? ??
- SRAM ??
- ???? ??? SRAM? ??? ?? ??
- ?? ? ?? ??
9(No Transcript)
10ASIC ?? ??? ??
11ASIC ?? ???
12VHDL
- VHDL(Very High Speed Integrated Circuit Hardware
Description Language) - ????
- ??? ???? ????? ?? ???? ??? (layout
- editor)? ???? ???(schematic editor)? ??? ??
- ??? ???? ??? ??? ? ??? ???? ??? ??(bottom-up)
- ???? ? ??? ??? ??? ???? ???? ?? ??? ??? ??? ??
- ?????? ?? ???? ??? ????? ?? HDL? ??,
???(top-down)?? ??
13VHDL? ?? ??
- Entity? Architecture Body? ??
- ???? 2??
- 1?? entity ??
- ???? ?? ??? Interface? ??
- ???? ??? ??? ??? Port? ??
- 2?? architecture body ??
- ???? ??? ??
- ????? ??, ?? ?? ?? ?? ??
14VHDL? ?? ??
- Entity ??
- ???? ?? ?? entity ?? ??
- ???? ????? ?? ??? ???? ??? ??
- ?? ??? ???? signal ??
- ??? ??(mode) ??
- ???(data type) ??
- Ex) 2 input AND Gate? entity ??
entity and2 is port(a, b in bit
y out bit ) end and2
signal
data type
mode
15VHDL? ?? ??
- Ex) 2 input 2 output? entity ??
16VHDL? ?? ??
- Data types
- bit - signal? ??? 1?
- bit_vector - signal? ??? ?? ?
- byte
- ex) b in bit_vector(0 to 7)
- 8?? signal b(0), b(1),..,b(7) ??
- ex) b in bit_vector(7 downto 0)
- b(7), b(6), .., b(0) ??
- IEEE 1164 ??
- bit -gt std_logic
- bit_vector -gt std_logic_vector
- Ex) std_logic, std_logic_vector ???
- library ieee
- use ieee.std_logic_1164.all ? ??
17VHDL? ?? ??
- Architecture Body
- entity? ???? ???? ?? ?? ??
- ??? entity? ?? ??? architecture body ?? ??
- Ex) 2 input AND gate? architecture body
architecture behavioral of and2 is begin y lt a
and b end behavioral
18VHDL? ?? ??
- ??? ?? ??
- ??? ?? ???(data flow modeling)
- ??? ?? ???? ??? ??? ???? ??
- ???? ??? ?? ??
- ??? ?? ?? ??? ??? ??? ? ?? ??
- ?? ????? ?? ??, ?, ??? ??? ???? ??? ??
- Ex) ??? ???
architecture brhavioral of and2 is begin
result lt a and b end behavioral
19VHDL? ?? ??
- ??? ???(behavioral modeling)
- ??? ??? ?????? ??? ?? ??
- ??? ?? ????? ????
- VHDL? ??? ?? ???? ??
- ?????? process ???? ???
- Ex) ??? ???
architecture brhavioral of and2 is begin
process(a, b) begin if a 0
and b0 then result lt 0
elsif a 0 and b1 then result lt 0
elsif a 1 and b0 then result
lt 0 else result lt 1
end process end behavioral
20????
- ????(Half Adder)
- 2?? input(A, B), 2?? output(S, C)
- ??? ? ?? ???
21????
library IEEE use IEEE.STD_LOGIC_1164.ALL use
IEEE.STD_LOGIC_ARITH.ALL use IEEE.STD_LOGIC_UNSI
GNED.ALL entity ha is Port ( a in
std_logic b in std_logic
s out std_logic c
out std_logic ) end ha architecture brhavioral
of ha is begin s lt a xor b c lt
a and b 1 end behavioral
22????
???? Simulation ??
???? Pin ??
? ? ? ? ? ? ? ? ? ? ? ?
?? ?? ?? ?? ? ?? ?? ?? ?? ?? ? ??
a MTP_SW1 p102 c LED0 p2
b MTP_SW2 p101 s LED1 p3
- ???? ??
- - ???? ??? ?? 0? ?? ??? ??? ?? 1? ??.
- - ?? LED? ? ?? 1? ??? ? ?? ???.
23????
- ????(Full Adder)
- 3?? input(A, B, Cin), 2?? output(S, Cout)
- ??? ? ?? ???
24????
library IEEE use IEEE.STD_LOGIC_1164.ALL use
IEEE.STD_LOGIC_ARITH.ALL use IEEE.STD_LOGIC_UNSI
GNED.ALL entity full_adder is Port ( a
in std_logic b in std_logic
cin in std_logic
s out std_logic cout
out std_logic ) end full_adder
25????
???? - simulation ??
???? Pin ??
? ? ? ? ? ? ? ? ? ? ? ?
?? ?? ?? ?? ? ?? ?? ?? ?? ?? ? ??
a MTP_SW1 p102 cout LED0 p2
b MTP_SW2 p101 s LED1 p3
cin MTP_SW3 p100
26architecture brhavioral of full_adder is Begin
process(a, b, cin) begin if a0 and
b0 and cin0 then s lt 0 cout lt0
elsif a0 and b0 and cin1 then s lt
1 cout lt0 elsif a0 and b1 and
cin0 then s lt 1 cout lt0 elsif
a0 and b1 and cin1 then s lt 0 cout
lt1 elsif a1 and b0 and cin0
then s lt 1 cout lt0 elsif a1 and
b0 and cin1 then s lt 0 cout lt1
elsif a1 and b1 and cin0 then s lt
0 cout lt1 else s lt 1 cout
lt1 end process end behavioral