• Tidak ada hasil yang ditemukan

Chapter 10: Design Options of Digital Systems

N/A
N/A
Protected

Academic year: 2024

Membagikan "Chapter 10: Design Options of Digital Systems"

Copied!
64
0
0

Teks penuh

(1)

Chapter 10: Design Options of Digital Systems

Prof. Soo-Ik Chae

(2)

Objectives

After completing this chapter, you will be able to:

 Describe the features of system-level design options

 Describe basic structures and features of cell-based ASICs

 Describe basic structures and features of gate array ASICs

 Describe basic structures and features of programmable logic devices (PLDs)

 Describe basic structures and features of field-programmable gate arrays (FPGAs)

 Understand how to model PLAs (including PLDs)

 Understand the issues of voltage tolerance and voltage

(3)

Implementation Options of Digital Systems

Design options of digital systems

Full-custom Cell-based Gate array (GA)

Field-programmable devices

FPGA CPLD

PLD

ASICs

µ

P/DSP

Pure FPGA DSP FPGA Platform FPGA Cell library Compiled macros Platform IP

(RAM/ROM/PLA)

(4)

System-Level Design Options

 PCB (printed-circuit board)-based platforms

 They consist of discrete standard components such as µp/µC, peripherals, and memory devices.

 NRE cost is low but final product may cost too much to be accepted.

 It might need additional CPLD/FPGA to customize the required logic.

 SoPC (System on a programmable chip)-based platforms

 They consist of hard or soft IP being configured into a system required for a given application.

 It might need additional customized logic modules.

 Examples are Xilinx VirtexII pro, Spartan 3 (MicroBlaze), and Altera Cyclone Series (NIOS).

 Soft IP+ cell_library-based platforms

 They consist of soft IP being configured into an optimized system

hardware.

(5)

Design Alternatives of Digital Systems

PLDs

FPGAs, GAs

Cell-based ASICs

Full-custom ASICs

T im e to m ar k et, C o st

Design flexibility, Process complexity,

Density, Speed, Complexity, NRE cost

(6)

Comparison of Design Options

(b) Comparison of various digital system design options

(a) Cost versus product volume

Design flexibility

Easy to use GAs

FPGAs/CPLDs Full-custom ASICs

Cell-based ASICs

PLDs

Cost

Product volume NRE+

Fixed cost

k

ASICs

FPGAs

(7)

Basic Structure of Cell-Based ASICs

Routing channel

Macro I/O Pads

Complex macro

Routing channel

Routing channel

Routing channel

(8)

Basic Cell Types

Standard cell types Inverter/buffer/tristate buffer NAND/AND gate

NOR/OR gate XOR/XNOR gate MUX/DeMUX Encoder/Decoder

Schmitt trigger circuit Latch/register/counter I/O pad circuits

Variations

2 ~ 8 inputs 2 ~ 8 inputs 2 ~ 8 inputs

2 ~ 8 inputs (inverted/noninverted output) 4 ~ 16 inputs (inverted/noninverted output) Inverted/noninverted output

D/JK(sync./async. clear/reset)

Input/Output(tristate/bidirectional)

1X, 2X, 4X, 8X, 16X

(9)

A Cell-Based D-Type Flip Flop

Abutting: fixed height

(10)

Basic Structures of Gate Arrays

Gate

Gate

pMOS nMOS

(11)

Basic Structures of Gate-Array ASICs

VDD

VSS pMOS

nMOS Gate

Sea of gates? No routing channels

(12)

Basic Structures of Gate Arrays

(a) NOT gate

Input Output

VDD

VSS

Gate

Gate

pMOS nMOS

Output

Output Input

Input Input

Input

Input

Output VDD

(13)

Basic Structures of Programmable Logic Devices

(a) AND gate xy

z

x y z

x y z

Fuse broken xy

z

(b) OR gate xy

z

x y z

x y z

Fuse broken xy

z

Shorthand notations for describing the structures of PLDs

(14)

Basic Structures of Programmable Logic Devices

(a) ROM structure (b) PLA structure (c) PAL structure

I0 I1

O3 O2 O1 O0 Progrmmable

OR array

Programmable AND array

I0 I1

O1 O0 Programmable AND

array

Fixed OR array I0

I1

O3 O2 O1 O0 Fixed AND

array

Progrmmable OR array

(15)

Basic Structures of CPLDs

(a) CPLD basic structure (b) pLSI basic structure

PALmacro Programmable interconnection area PAL macro

I/O circuit

PAL macro PAL macro

Programmable interconnection area Output routing area

Global routing area

PAL macro I/O pads

Output routing area

Output routing area

Output routing area

(16)

Basic Structures of FPGAs

(a) Matrix type (b) Row type

Horizontal routing channel

Vertical routing channel

CLB

Routing channel

CLB

(17)

Basic Structures of Programmable Interconnections

Q Q' RD/WR

D (data)

SRAM device

PIP device

SRAM device

(a) SRAM device

(b) Flash device

CG FG

D S

1/3EPROM thick

Fowler-Nordheim technology

ETOX II flash device

Metal

n+

Polysilicon

Dielectric

n+

Dielectric

Polysilicon

(c) Antifuse device

(18)

Comparison of programmable interconnections

Process technology Programming approach Area

Capacitance Resistance

SRAM CMOS

Shift register Very large

Flash Antifuse

Standard 2-level polysilicon

FAMOS

New type polysilicon Avalanche

Large Small

≈ 2 k fF

≈ 50 ≈ 15 fF Ω

≈ 2 k

fF

≈ 5

≈ 500

(19)

Basic Structures of ROMs

0 1 2 3 2

n

-4 2

n

-3 2

n

-2 2

n

-1 0

1 n-2 n-1 E

OR array AND array

m-output lines Chip enable

n-input lines

 

 

decoder n 2

n

O

m-1

O

m-2

O

1

O

0

Output enable

CE

OE

(20)

Basic Applications of ROMs

(a) Truth table (b) Logic circuit

0 1 2 3 A

0

A

1

O

0

O

1

2 4 decoder Fuse broken Fuse intact Input

A

1

A

0

Output O

1

O

0

0 0 0 1

0 1 1 0

1 0 0 0

1 1 1 1

(21)

Basic Structures of PLAs

Programmable AND gate array

Om-1 Om-2 O1 O0









 

 

In-1 In-2 I1 I0

Programmable OR gate array

k product terms

m output lines n input lines

(22)

Basic Applications of PLAs

2 3 4 5 x

y z

0 1 w

Product term

y 0

1 2 xy

x'y wx'y' 3

Input Output

w x y f2 f1

- - 1 1 -

- 1 1 - -

- 0 1 - 1

1 0 0 - 1

f3 - 1 - 1 z - - - - 4

w'xz wxz 5

0 1 - 1 1

1 1 - - 1

- 1 1 1

(23)

Basic Structures of PALs

Combinational outputs PAL

devices PAL16L8 PAL16R4 PAL16R6 PAL16R8 PAL20L8 PAL20R4 PAL20R6 PAL20R8

Package pins

AND-gate inputs

Primary inputs

Bidirectional I/Os

Registered outputs 20

20 20 20 24 24 24 24

16 16 16 16 20 20 20 20

10 8 8 8 14 12 12 12

6 4 2 0 6 4 2 0

0 4 6 8 0 4 6 8

2

0

0

0

2

0

0

0

(24)

0481216202428

016 8

24

32

40

48

56

63 DQQ'

DQ

Q'

DQ

Q' DQQ' DQQ'

DQ

Q'

DQ

Q'

DQ

Q' K

(25)

PLA Modeling

 PLA device structures can be one of the following types:

 SOP (sum of product) are composed of an AND plane and an OR plane.

• AND plus OR array.

• NAND plus NAND array.

 POS (product of sum) are composed of an OR plane and an AND plane.

• OR plus AND array.

• NOR plus NOR array.

 An AND plane or an OR plane is also called a personality

array (or memory).

(26)

PLA Modeling (p.303 in LRM)

 A PLA device

 is modeled by a group of system tasks.

 is modeled by an appropriate combination of two system tasks.

 A PLA device can be modeled as:

 asynchronous: the evaluations are executed whenever any input is changed.

 synchronous: the evaluation time can be controlled in a predictable way.

 The output terms are updated without any delay.

(27)

PLA Modeling

 PLA modeling system tasks

 input_terms: nets or variables

 output_terms: variables

 logic: and | or | nand | nor

$async$logic$format(mem_id, input_terms, output_terms);

$sync$logic$format(mem_id, input_terms, output_terms);

(28)

Array or Plane formats (17.5.4 in LRM)

 Array format: only 1 or 0 is used to denote whether inputs is taken or not

 Plane format: complies with Espresso

 1 or 0: true or complement value is taken

 x: denote that the worst-case input is taken

 z, ?: denote don’t care

$async$and$array

$async$nand$array

$async$or$array

$sync$and$array

$sync$nand$array

$sync$or$array

$async$and$plane

$async$nand$plane

$async$or$plane

$sync$and$plane

$sync$nand$plane

$sync$or$plane

Array format Plane format

Asynchronous Synchronous Asynchronous Synchronous

(29)

PLA Modeling

wire a1, a2, a3, a4, a5, a6, a7;

reg b1, b2, b3;

wire [1:7] awire;

reg [1:3] breg;

reg [1:7] mema [1:3]; // define personality memory // asynchronous AND plane

$async$and$array(mema, {a1, a2, a3, a4, a5, a6, a7}, {b1, b2, b3});

// or using the following statement

$async$and$array(mema, awire, breg);

// synchronous AND plane forever @(posedge clock)

$sync$and$array(mema, {a1, a2, a3, a4, a5, a6, a7}, {b1, b2, b3});

$async$logic$array(mem_type, input_terms, output_terms);

$sync$logic$array(mem_type, input_terms, output_terms);

(30)

PLA Modeling

 Logic array personality is declared as an array of regs.

 The width is equal to the number of input terms.

 The depth is equal to the number of output terms.

 Logic array personality is loaded into memory using

 system tasks $readmemb or $readmemh.

 the procedural assignment statements.

 Logic array personality can be changed dynamically during

simulation.

(31)

PLA Modeling

 The array format

 uses only 1 or 0 to denote the input value is taken or not.

 The plane format (complies with Espresso)

 1 or 0 : the true or complement input value is taken.

 x : the worst case input value is taken.

 ? or z: don’t care.

(32)

PLA Modeling

 Define PLA personality from file.

 In this example only one and plane is considered.

// an example of the usage of the array format.

module async_array(a1, a2, a3, a4, a5, a6, a7, b1, b2, b3);

input a1, a2, a3, a4, a5, a6, a7 ; output b1, b2, b3;

reg [1:7] mem[1:3]; // memory declaration for array personality reg b1, b2, b3;

initial begin

// setup the personality from the file array.dat

$readmemb ("array.dat", mem);

// setup an asynchronous logic array with the input // and output terms expressed as concatenations

$async$and$array (mem,{a1, a2, a3, a4, a5, a6, a7},{b1, b2, b3});

b1 = a1 & a2

b2 = a3 & a4 & a5

b3 = a5 & a6 & a7

1100000

0011100

0000111

(33)

PLA Modeling

module sync_array(a0, a1, a2, a3, a4, a5, a6, a7, b0, b1, b2);

input a0, a1, a2, a3, a4, a5, a6, a7;

output b0, b1, b2;

reg b0, b1, b2;

reg [7:0] mem[0:2];

// an example of the usage of array format

initial begin // using procedural assignment statements.

$readmemb ("array.dat", mem);

forever @(posedge clk)

$async$and$array(mem, {a0,a1,a2,a3,a4,a5,a6,a7}, {b0,b1,b2});

end end

endmodule

(34)

PLA Modeling – example

module pla(a0, a1, a2, a3, a4, a5, a6, a7, b0, b1, b2);

input a0, a1, a2, a3, a4, a5, a6, a7;

output b0, b1, b2;

reg b0, b1, b2;

reg [7:0] mem[0:2];

// an example of the usage of array format

initial begin // using procedural assignment statements.

mem[0] = 8'b11001100;

mem[1] = 8'b00110011;

mem[2] = 8'b00001111;

$async$and$array(mem, {a0,a1,a2,a3,a4,a5,a6,a7}, {b0,b1,b2});

end

endmodule

(35)

PLA Modeling

A = {a0, a1, a2, a3, a4, a5, a6, a7}

B = {b0, b1, b2}

mem[0] = 8'b11001100;

mem[1] = 8'b00110011;

mem[2] = 8'b00001111;

A = 11001100 -> B = 100

A = 00110011 -> B = 010

A = 00001111 -> B = 001

A = 10101010 -> B = 000

A = 01010101 -> B = 000

A = 11000000 -> B = 000

A = 00111111 -> B = 011

(36)

A PLA Modeling Example --- Logic Circuit

(a) PLA programming table

0 1 2 3

f1 f2

x y z

x y z

0 1 2 3 Product

xy'

0

1 2

xz

y'z

x'yz'

3

Input Output

x y z f2 f1

1 0 - - 1

1 - 1 1 1

- 0 1 1 -

0 1 0 - 1

z y xz z

y x f

yz x xz xy z

y x f

' )

, , (

' ' '

) , , (

2 1

+

=

+ +

=

(37)

A PLA Modeling Example – The Array Format

module pla_example(input x, y, z, output reg f1, f2);

// An example of the usage of the array format.

reg p0, p1, p2, p3; // internal minterms reg [0:5] mem_and[0:3];

reg [0:3] mem_or[1:2];

wire x_n, y_n, z_n;

assign x_n = ~x, y_n = ~y, z_n = ~z;

initial begin: pla_model_array

mem_and[0] = 6'b100100; // define AND plane mem_and[1] = 6'b100010;

mem_and[2] = 6'b000110;

mem_and[3] = 6'b011001;

$async$and$array(mem_and, {x, x_n, y, y_n, z, z_n}, {p0, p1, p2, p3});

mem_or[1] = 4'b1101; // define OR plane mem_or[2] = 4'b0110;

$async$or$array(mem_or, {p0, p1, p2, p3}, {f1, f2});

end

endmodule

# 0 ns x x x x x

# 5 ns 0 0 0 0 0

# 10 ns 0 0 1 0 1

# 15 ns 0 1 0 1 0

# 20 ns 0 1 1 0 0

# 25 ns 1 0 0 1 0

# 30 ns 1 0 1 1 1

# 35 ns 1 1 0 0 0

# 40 ns 1 1 1 1 1

(38)

A PLA Modeling Example – The Plane Format

module pla_example(input x, y, z, output reg f1, f2);

reg p0, p1, p2, p3; // internal minterms

reg [0:2] mem_and[0:3]; // and plane personality matrix reg [0:3] mem_or[1:2]; // or plane personality matrix // An example of the usage of the plane format

initial begin: pla_model_plane

$async$and$plane(mem_and, {x, y, z}, {p0, p1, p2, p3});

mem_and[0] = 3'b10?; // define AND plane mem_and[1] = 3'b1?1;

mem_and[2] = 3'b?01; // 000110 in array format mem_and[3] = 3'b010;

$async$or$plane(mem_or, {p0, p1, p2, p3}, {f1, f2});

mem_or[1] = 4'b11?1; // define OR plane mem_or[2] = 4'b?11?; // 0110 in array format end

# 0 ns x x x x x

# 5 ns 0 0 0 0 0

# 10 ns 0 0 1 0 1

# 15 ns 0 1 0 1 0

# 20 ns 0 1 1 0 0

# 25 ns 1 0 0 1 0

# 30 ns 1 0 1 1 1

# 35 ns 1 1 0 0 0

# 40 ns 1 1 1 1 1

(39)

Initializing Memory from Files

$readmemb(“<file_name>”,<memory_name>);

$readmemb(“<file_name>”,<memory_name>, <start_addr>);

$readmemb(“<file_name>”,<memory_name>, <start_addr>, <end_addr>);

$readmemh(“<file_name>”,<memory_name>);

$readmemh(“<file_name>”,<memory_name>, <start_addr>);

$readmemh(“<file_name>”,<memory_name>, <start_addr>, <end_addr>);

reg [7:0] mem[1:256];

initial $readmemb(“mem.data”, mem);

initial $readmemb(“mem.data”, mem, 16);

initial $readmemb(“mem.data”, mem, 128, 1);

(40)

Initializing Memory from Files

 Data file formats

 Addresses can be specified in the data file with @<address>.

 Addresses must be are specified as hexadecimal numbers.

 Data can contain x or z and is separated by white spaces.

 Uninitialized locations default to x.

For example:

@002 // data will be read into memory from location 2 0000 1011

0001 11zz

@008 // data will be read into memory from location 8

1111 zz1z

(41)

Xilinx Basic Structure of CPLD: XC9500XL

Function block 1 Macrocells

1 to 18

I/O blocks

54 18

54 18

54 18

54 18 Switch

matrix I/O

I/O I/O I/O

I/O I/O I/O I/O I/O/GCK I/O/GSR I/O/GTS

Function block 2

Function block 2

Function block N Macrocells

1 to 18

Macrocells 1 to 18

Macrocells 1 to 18

(42)

CPLD: XC9500XL --- Function Block

Macrocell 1

18 18 18

Output PTOE To switch

matrix

To I/O blocks

Product-term allocators Programmable

AND array From 54

switch matrix

1 3

Global set/reset Global clock Macrocell 2

Macrocell 3

Macrocell 16 Macrocell 17 Macrocell 18

(43)

CPLD: XC9500XL --- Macro of Function Block

Product- term allocator

Global set/reset

1 0

D/T CK

Q

R S EC Global

clocks 54

Product-term OE Product-term reset Product-term clock

Product-term clock enable Product-term set

To switch matrix

OUT PTOE To I/O blocks

Additional product

terms (From other macrocells)

Additional product terms (From other macrocells)

(44)

CPLD: XC9500XL --- Switch Matrix

D/T CK

Q

Q'

D/T CK

Q

Q' Function block

Function block

I/O block

I/O block

I/O

I/O 18

18 54

54 Switch matrix

(45)

CPLD: XC9500XL --- I/O Block

I/O block

I/O VCCINT

Slew-rate control Macrocell

PTOE OUT

Product-term OE Programmable

ground

Pull-up resistor VCCINT

0

1 I/O/GTS1

I/O/GTS2

To switch matrix To other I/O blocks

(46)

MAX7000 Family --- Basic Structure

Macrocells 1 to 16 LAB A

Macrocells 1 to 16 LAB B

I/O control block

PIA

8 to 16 I/O pins 8 to 16

36

16 8 to 16

36

16

I/O control block

8 to 16 8 to 16 8 to 16

I/O pins

Macrocells 1 to 16 LAB C

Macrocells 1 to 16 LAB D

I/O control block

8 to 16 I/O pins 8 to 16

36

16 8 to 16

36

16

I/O control block

8 to 16 8 to 16 8 to 16

I/O pins GCLK1 GCLRn OE1 OE2

(47)

MAX7000 Family --- Macrocell Structure

To PIA

D CK

Q

clear preset

E

From I/O pin

To IOB Parallel logic

expanders (from other macrocells

Product-term select matrix

Shared logic expanders 16 expander product terms

36 signals from PIA

Logic array

Global clear

Global clocks 2

Clear

select Clock/Enable select VCC

Programmable flip-flop Preset

Clear Clock/Clock enable

(48)

MAX7000 Family --- Sharable Expander

Product term select matrixProduct term select matrix

(49)

MAX7000 Family --- Parallel Expander

To next macrocell 16 shared expanders

36 signals from PIA

Clock Clear Preset From previous macrocell

Macrocell product-term logic Product term select matrix

Clock Clear Preset

Product term select matrix

Use product terms up to 20 from the neighbor macrocell

(50)

MAX7000 Family --- IOB

OE1 OE2

To PIA From macrocell

V

CC
(51)

Xilinx Basic Structure of FPGA: XC4000XL

I/O block CLB

Programmable interconnect area

(52)

FPGA: XC4000XL --- Configurable Logic Block

YQ

Slew-rate control

1

DIN F' G' H'

YQ

1

DIN F' G' H' G'

H' H'

G4 G3 G2 G1

F4 F3 F2 F1

F' G'

K

Y DIN/H2

H1 SR/H0 EC

C1...C4

D CK

Q

R S

EC D

CK Q

R S

EC

Function of

F1-F4 Function of

F', G', H1

Function of G1-G4

Slew-rate control

4

(53)

FPGA: XC4000XL --- PIA

 Interconnection lines:

 Single-length lines

 Double-length lines

 Global long-length lines

FET switch





 Double-length Single-length

 

 

Double-length

Single-length

(54)

FPGA: XC4000XL --- PIA

F4 C4 G4 YQ G1

C1 K F1

X XQ F2 C2 G2 Y G3 C3 F3 CLB

PSM PSM

PSM PSM

CLB CLB

CLB CLB

PSM

(55)

FPGA: XC4000XL --- Input/Output Block

I/O block

I/O

Slew-rate control

VCCINT

Pull down/

up resistor

Output buffer

Input buffer T

OUT

Output clock I1

I2

Input clock

τ

τ D

CK Q CE D CK Q CE

D G Q

Clock enable

Output MUX

(56)

FPGA: XC4000XL --- Macro Library Example

 Macros may be categorized into two basic classes:

 Soft macros only describe logic and interconnections.

 Hard macros describe where the elements are placed.

Gates/buffers

Hard macros Soft macros

Parity checkers Flip-Flops/latches

Adder/Subtractors Comparators

Encoders/decoders

Multiplexers Data/shift registers

RAMs/ROMs Counters

Adders Accumulators

Multiplexers Decoders

Priority encoders

Parity checkers RAM

Counters

Data/shift registers Accumulators

Muitipliers Muitipliers

FSMs

Dividers

Logical shifters Dividers

Logical shifters

Comparators

(57)

Features of Spartan-XL and Spartan-II Series

System gates

Max. no. of logic gates Flip-flops

Max. RAM bits Max. available I/O

XCS05/XL 5k

3,200 360

Logic cells 238

3,000

77

XCS10/XL 10k

6,272 616 466 5,000

112

XCS20/XL 20k

12,800 1,120 950 10,000

160

XCS30/XL 30k

18,432 1,536 1,368 13,000

192

XCS40/XL 40k

25,088 2,016 1,862 20,000

224 Spartan/XL FPGAs

System gates Blocks RAM (kb)

Max. available I/O

XC2S15 15k

16

Logic cells 432

86

30k 24 972

132

50k 32 1,728

176

100k 40 2,700

196

150k 48 3,888

260

Spartan-II FPGAs XC2S30 XC2S50 XC2S100 XC2S150 XC2S200

200k 56 5,292

284 DLL

Max. Dist. RAM (kb) 4 4

13.5 4

24 4

37.5 4

54 4

73.5 4

(58)

Features of Spartan-3 Series

System gates

Blocks RAM (kb)

I/O standards

XC3 S50 50k 4

Logic cells 1,728

2

Spartan-III FPGAs XC3

S200

XC3 S400

XC3 S1000

XC3 S1500

XC3 S2000

DCMs

Max. Dist. RAM (kb) 12 72

Max. Diff. I/O pairs Max. Single ended I/O 18 * 18 multipliers

24 56 124

XC3 S4000

XC3 S5000 200k

4,320

4 30 216

24 76 173 12

400k 8,064

4 56 288

24 116 264 16

1000k 17,280

4 120 432

24 175 391 24

1500k 29,952

4 208 576

24 221 487 32

2000k 46,080

4 320 720

24 270 565 40

4000k 62,208

4 432 1,728

24 312 712 96

5000k 74,880

4 520 1,872

24 344 784 104

(59)

Features of Virtext-II Series

(60)

Altera APEX 20K Family --- Basic Structure

Row interconnect

IOE

MegaLAB IOE

IOE

MegaLAB

IOE

MegaLAB

IOE

MegaLAB

IOE

MegaLAB IOE

MegaLAB MegaLAB MegaLAB

IOE

MegaLAB IOE

MegaLAB MegaLAB MegaLAB

IOE Row interconnect

Column interconnect Column

interconnect

(61)

APEX 20K Family --- MegaLAB Structure

MegaLAB interconnect

LE 10 LE 1 LE 2 LE 3 LE 4 LE 5 LE 6 LE 7 LE 8 LE 9

LE 10 LE 1 LE 2 LE 3 LE 4 LE 5 LE 6 LE 7 LE 8 LE 9

LE 10 LE 1 LE 2 LE 3 LE 4 LE 5 LE 6 LE 7 LE 8 LE 9

ESB

Local interconnect

LAB LAB

LAB

To adjacent LAB or IOEs

ESB (embedded system block) can be configured as a block

of macrocells or implement various types of memory blocks

(62)

APEX 20K Family --- Logic Element Structure

LUT Carry

chain

Cascade chain Data 1

Data 2 Data 3 Data 4

Synchronous load & clear

logic

Asynchronous clear/preset

logic labclear1

labclear2 chip-wide reset

labclk1 labclk2 labclken1 labclken2

Clock and clock enable select

Carry-in Cascade-in Load Clear LAB-wide synchronous

D CK

Q

clear preset

E

To interconnect

(63)

APEX 20K Family --- Structure of ESB

MegaLAB interconnect

Local interconnect

16

To row and column interconnect 2

9

2 32

2 From

adjacent LAB

Macrocell inputs(1-16) clk[1:0]

enable[1:0]

CLRN[1:0]

Dedicated clocks

Global signals 4 4

65

Macrocell array

(64)

Altera Stratix Family --- Basic Structure

Row interconnect IOEs

LABs

IOEs LABs

IOEs

LABs IOEs

LABs LABs

IOEs

LABs

LABs

IOEs LABs LABs LABs LABs LABs

LABs

IOEs LABs LABs LABs LABs LABs

LABs

IOEs LABs LABs LABs

LABs

IOEs LABs LABs LABs

LABs

IOEs LABs LABs LABs

LABs

IOEs LABs LABs LABs

LABs

IOEs LABs LABs LABs

M-RAM block

DSP blockDSP block

M512 RAM blocks

M4k RAM blocks

Referensi

Dokumen terkait

CHAPTER 11 Product and service decisions LEARNING OBJECTIVES After studying this chapter you should be able to: explain the mix of product and service elements explore levels of

CHAPTER 4 Customer behaviour LEARNING OBJECTIVES After studying this chapter you should be able to: understand why consumers make purchase decisions identify and discuss the main

CHAPTER 15 Organising and implementing the marketing plan LEARNING OBJECTIVES After studying this chapter you should be able to: understand the need for an integrated approach to

Chapter 6 Employment law and duty of care Learning objectives After reading through this chapter you will be able to: ■ Explain why a basic understanding of essential employment

OBJECTIVES After completing this unit, you should be able to: understand the nature, role and purpose of marketing communications in the contemporary organisation describe the key

CHAPTER 13 Distribution decisions LEARNING OBJECTIVES After studying this chapter you should be able to: understand why relationships occur between manufacturer and distributor

CHAPTER 9 CSR strategy and the sustainable global value chain LEARNING OBJECTIVES After studying this chapter you should be able to: define CSR understand how value creation goes

Objectives After you have read and studied this chapter, you should be able to • Define a class with multiple methods and data members • Differentiate the local and instance