from transistors to computers. gajski and kuhn’s y chart physical/geometry structural behavioral...
Post on 21-Dec-2015
221 views
TRANSCRIPT
Gajski and Kuhn’s Y Chart
Physical/Geometry
StructuralBehavioral
Processor
Hardware Modules
ALUs, Registers
Gates, FFs
Transistors
Systems
Algorithms
Register TransferLogic
Transfer Functions
Architectural
Algorithmic
Functional Block
Logic
Circuit
Rectangles
Cell, Module Plans
Floor Plans
Clusters
Physical Partitions
Discovery of the Electron -- 1898
J. J. ThomsonCathode Tube
Cavendish Labs
Electric Field -- “corpuscle”
Physical/Geometry
StructuralBehavioral
Processor
Hardware Modules
ALUs, Registers
Gates, FFs
Transistors
Systems
Algorithms
Register TransferLogic
Transfer Functions
Architectural
Algorithmic
Functional Block
Logic
Circuit
Rectangles
Cell, Module Plans
Floor Plans
Clusters
Physical Partitions
The Transistor
CMOS Circuits
Physical/Geometry
StructuralBehavioral
Processor
Hardware Modules
ALUs, Registers
Gates, FFs
Transistors
Systems
Algorithms
Register TransferLogic
Transfer Functions
Architectural
Algorithmic
Functional Block
Logic
Circuit
Rectangles
Cell, Module Plans
Floor Plans
Clusters
Physical Partitions
Implementing Gates
Relays
Normally openNormally closed
A
B
C
A
B
C
A
B
C
nMOS transistorA-B closed whenC = 1(normally open)
pMOS transistorA-B closed whenC = 0(normally closed)
library IEEE;use IEEE.std_logic_1164.all; entity mux2g is generic(width:positive); port ( a: in STD_LOGIC_VECTOR(width-1 downto 0); b: in STD_LOGIC_VECTOR(width-1 downto 0); sel: in STD_LOGIC; y: out STD_LOGIC_VECTOR(width-1 downto 0) );end mux2g; architecture mux2g_arch of mux2g isbegin mux2_1: process(a, b, sel) begin if sel = '0' then y <= a; else y <= b; end if; end process mux2_1;end mux2g_arch;
VHDL – n-line 2 x 1 Multiplexer
ALU1- Shifting, Incr, and Decr Lab 2
a(n-1:0) y(n-1:0)
Sel(2:0)
n-line
ALU1
sel y Instruction name
“000” a + 1 1+
“001” a - 1 1-
“010” not a invert
“011” shift left a 2*
“100” logic shift right a U2/
“101” arithmetic shift right a
2/
“110” all ones true
“111” all zeros false
ALU2 – Arithmetic and Logic InstructionsLab 3
a(n-1:0)y(n-1:0)
sel(2:0)
n-line
ALU2
b(n-1:0)
sel y Instruction name
“000” a + b +
“001” b - a -
“010” a and b AND
“011” a or b OR
“100” a xor b XOR
“101” true if a = 0false otherwise
0=
“110” true if a < 0false otherwise
0<
“111” true if b > a (unsigned)
false otherwise
U>
ALU3 – Comparators Lab 4
a(n-1:0)y(n-1:0)
sel(2:0)
n-line
ALU3
b(n-1:0)
sel y Instruction name
“000” true if b = afalse otherwise
=
“001” true if b /= afalse otherwise
<>
“010” true if b < a (unsigned)false otherwise
U<
“011” true if b > a (unsigned)false otherwise
U>
“100” true if b <= a (unsigned)
false otherwise
U<=
“101” true if b < a (signed)false otherwise
<
“110” true if b > a (signed)false otherwise
>
“111” true if b <= a (signed)false otherwise
<=
CMOS Circuits
Physical/Geometry
StructuralBehavioral
Processor
Hardware Modules
ALUs, Registers
Gates, FFs
Transistors
Systems
Algorithms
Register TransferLogic
Transfer Functions
Architectural
Algorithmic
Functional Block
Logic
Circuit
Rectangles
Cell, Module Plans
Floor Plans
Clusters
Physical Partitions
ALUs, Registers
Physical/Geometry
StructuralBehavioral
Processor
Hardware Modules
ALUs, Registers
Gates, FFs
Transistors
Systems
Algorithms
Register TransferLogic
Transfer Functions
Architectural
Algorithmic
Functional Block
Logic
Circuit
Rectangles
Cell, Module Plans
Floor Plans
Clusters
Physical Partitions
Datapath
Physical/Geometry
StructuralBehavioral
Processor
Hardware Modules
ALUs, Registers
Gates, FFs
Transistors
Systems
Algorithms
Register TransferLogic
Transfer Functions
Architectural
Algorithmic
Functional Block
Logic
Circuit
Rectangles
Cell, Module Plans
Floor Plans
Clusters
Physical Partitions
A Single-Cycle Processor Lab 5
mux4g
Tregclk
clr
Nregclkclr
Funit1
T
N
tin
SW(1:8)
LD(1:8)
Fcode(5:0)
msel(1:0)
tloadnload
y
dig7seg
A(1:4) AtoG(6:0)
cclk
clr
T
Prom
Pcountclr
clk
M
P
M
a b
fcodemseltload
Ny ground
a cb d
nload
anode =“1111”
Program Counter and Program ControlLab 6
mux4
Tregclkclr
Nregclkclr
Funit1
T
N
tload
nload
tin
Pcontrol
Prom
pinc
M
P
nload
tload
icodemsel(1:0)
DigDisplay
A(1:4) AtoG(6:0)
SW(1:8)
LD(1:8)
clk
clr
T
T
N
digload
fcode(5:0)
BTN4
iregclkclr iload
digload
iloadfcode(5:0)
pinc
mclk clkdiv
clr
clk
M
clr
clk
PCclkclr pload
pload
y
yM
abcd
bn
cclk
IBUFG
ab
T
ldg‘1’
led
Lab6
Processor
Physical/Geometry
StructuralBehavioral
Processor
Hardware Modules
ALUs, Registers
Gates, FFs
Transistors
Systems
Algorithms
Register TransferLogic
Transfer Functions
Architectural
Algorithmic
Functional Block
Logic
Circuit
Rectangles
Cell, Module Plans
Floor Plans
Clusters
Physical Partitions
ReturnStack
RmuxPmux
PCclrclk
pload
pinc
IRclrclkirload
W8Y_rom
W8Y_control
plus1
R
DS
Rin
R T
P
Pin
M
M P1
R
M
SW(1:8)
LDreg
LD(1:8)
T
ldloadclkclr
step_display
A(3:0) AtoG(6:0)
clk
clr
TN
BTN(1)
BTN(4)
clr
step
The W8YMicrocontroller
clkclr
rpop
rpush
psel rinsel
dssel(1:0)
rload
rdec
rsel
T
icode
E
BTN(1:4)
DataStack_ALUclkclr
dpop
dpush
ssel
nloadnsel
tload
tsel(1:0)
alusel(3:0)
T
0 11
1
0
0 2 3DSmux
W8ZProcessor
reg_stack
Funit
TN2 N1N3
d0
y1cout
clr
clk
Rcode(3:0)
Fcode(4:0)
msel(5:0)
Wcontrol
Wrom
WPC
clk
clr
inc2
M1(7:0) M2(7:0)
P
d1
ReturnStack
R
Pmux
Rmux
dual_mux8g
add1
sub1
ROM
RAM
T
T N1
y2
SW(1:8)
rsel(1:0)
psel
BTN(1:4)
rpush
rload
pselrsel
pload
DigReg
LDreg
dig3 dig1dig4 dig2
LD(1:8)
T
TN1
clrclk
rpush
rpop
pload
clrclk
rload
rdecclkclr
we
rpoprdec
ldloadclkclr
clk
clrdigload
P1
R
R1
RM1
p_in
r_in
T
T
ReturnStack
RmuxPmux
PCclrclk
pload
pinc
IRclrclkirload
FC16_control
plus1
R
Tin
Rin
R T
P
Pin
M
M P1
R
M
The FC16Forth Core
clkclr
rpop
rpush
psel rinsel
tsel(2:0)
rload
rdec
rsel
T
icode
E1(15:0)
B(1:4)DataStackclk
clr
dpop
dpush
ssel
nloadnsel
tload
y1(15:0)
T
0 11
1
0
0 2 3Tmux
Funit16
NN2
y(15:0)
y NN2E2E1S
S(1:8)
54 6 7
E2(15:0)
P(15:0)
M(15:0)
clr
clk
T(15:0)
N(15:0)
oe
we
cclk
Fcode(5:0)
digload
ldload
The FC16Forth Core
Tregclkclr
Nregclkclr
T1
Tin(15:0)
tload
nload
Nmux
Nin
T(15:0)
Smux
stack32x16
N1 T
N2
clkclr
dpop
dpush
empty
full
d
ssel
0
0
1
1
clkclr
dpop
dpush
ssel
nload
nsel(1:0)
tload
DataStack
y1(15:0)y1
2
N(15:0) N2(15:0)
nsel(1:0)
Data Stack
Lab 7
Return StackLab 8
Stack32x16
R
Rmuxrsel
clrclk
rpush
rpop
clrclk
rload
rdec
R
R1
r_in
Rin(15:0)
ReturnStack
clrclk
rpush
rpop
rload
rdec
rsel
01
R(15:0)
full
empty
ReturnStack
RmuxPmux
PCclrclk
pload
pinc
IRclrclkirload
WC16_control
plus1
R
Tin
Rin
R T
P
Pin
M
M P1
R
M
The WC16WHYP Core
clkclr
rpop
rpush
psel rinsel
tsel(2:0)
rload
rdec
rsel
T
icode
E1(15:0)
B(1:4)DataStackclk
clr
dpop
dpush
ssel
nloadnsel
tload
y1(15:0)
T
0 11
1
0
0 2 3Tmux
Funit2
NN2
y(15:0)
y NN2E2E1S
S(1:8)
54 6 7
E2(15:0)
P(15:0)
M(15:0)
clr
clk
T(15:0)
N(15:0)
oe
we
Fcode(5:0)
digload
cs
LCD_RW
LCD_RS
LCD_E
The WC16WHYP Core
Lab 9