module 8 memory structure for data storage 정용진 교수 ( 광운대학교 )

54
Module 8 Memory Structure For Data Storage 정정정 정정 ( 정정정정정 )

Upload: victor-mathews

Post on 16-Jan-2016

298 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Module 8Memory StructureFor Data Storage

정용진 교수

( 광운대학교 )

Page 2: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

2

목차 ROM

PROM EPROM EEPROM FLASH

RAM SRAM DRAM SDRAM DDR SDRAM VRAM

Example ASIC 을 이용한 메모리 예제 FPGA 를 이용한 메모리 예제

참고 문헌

Page 3: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

3

Memory arrayMemory

Decoder

Controller I/O Buffer

1워드 = m 비트

2n 워드N 비트

어드레스

M비트 데이터/CS R/W

ROM 메모리 내부 구조

Page 4: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

4

1-of-4decoder

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

Register 0

E E

1-of-4decoder

Outputbuffers

MSB

MSB

ROW SELECT

COLUMN SELECT

A0

A1

A2

A3

0123

0123

ROM ROM 의 특징

Page 5: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

5

tACC

tOE

Data outputs

valid

New address

validOld address

Address inputs

Dataoutputs

t0 t1 t2 t3

/CS

ROM ROM 의 기본 타이밍도

Page 6: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

6

ROM 의 기본 타이밍도 Mask ROM 의 특징 및 구조

사용자 용도에 따라 제작자에 의하여 프로그램 된 ROM 마스크라고도 하는 감광막 (photographic negative) 은 칩 상에

전기적 상호접속을 제어하기 위해 사용 다시 프로그램 할 수 없다 활용 예 : 비디오 카드의 폰트 롬 , 프린터의 폰트 롬 , 키보드 ,

바이오스 등에 사용

ADDRESS BUFFER

X-PREDEC

Y-PREDEC

X-Decoder

Memory Array

Y-Decoder

Sense Amp & ECC

Output Buffer

Control Logic

CEB

OEB

BHE

Address

Data

MASK ROM

Page 7: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

7

PROM 의 특징 및 구조

사용자에 의하여 프로그램 되는 ROM 퓨즈링크를 선택적으로 끊음으로 데이터 저장

ADDRESS BUFFER

X-PREDEC

Y-PREDEC

X-Decoder

Memory Array

Y-Decoder

Sense Amp & ECC

Output Buffer

Control Logic

nCE

nPE

nOE

Address

Data

+Vdd/Vpp+Vdd/Vpp

High current

Q1Q0

Fusible link

Data lines(columns)

Vdd“ 1”

0V“ 0”Stored data

Row

< PROM 의 특징 및 구조 > < PROM 의 Fusing 방식 >

PROM

Page 8: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

8

EPROM ▪ 비휘발성 메모리 ▪ 저장 셀 : MOSFET 트랜지스터 ▪ 자외선을 쪼임으로써 삭제 가능

EEPROM ▪ 전기적으로 소거 가능한 PROM ▪ MOSFET 메모리 셀의 드레인 위에 매우 얇은 산화막을 첨가 ▪ 집적도가 EPROM 에 비해 떨어짐 ▪ 모뎀 , 비디오카드 , SCSI 컨트롤러 등에 사용

High Voltage Generator

Control Logic and Timing

Address Buffer and

Latch

Y Decoder

X Decoder

Y Gating

Memory Array

Data Latch

I/O Buffer and Input Latch

VccVss

/OE

/WE/CE

/RES

Address

Ready/BusyData

PROM EPROM & EEPROM

Page 9: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

9

NOR TYPE NAND TYPE

회로 구성

기능- One Tr. NMOS Floating Gate Device

- Program : Hot-Electron

- Erase : F-N Tunneling (BTBT Effect)

- One Tr. NMOS Floating Gate Device

- Program : F-N Tunneling

- Erase : F-N Tunneling (No BTBT)

- Low Vcc Possible

특징

- Low Density

- Higher Cost/Bit

- Faster Random Access

- Not Scalable

- Supplier Differences

- Higher Density

- Lower Cost/Bit

- Faster Sequential Access

- Scalable

- Single Standard

N+ N- N+

P-Substrate

Tunnel Oxide

Poly/Poly Dielectric

Floating Gate

Control Gate

N+ N+ N+

P-Substrate

Tunnel Oxide

Control GateFloating

Gate

Flash ROM NOR TYPE & NAND TYPE

Page 10: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

10

Control Logic

Control Logic

X-DecoderSuperFlash

Memory

Y-Decoder

I/O Buffers

DQ[7:0]

CE#OE#Vpp

PGM#

A[9:0]

Address Buffers

and Latches

X-decoder

SuperFlash Memory

Y-Decoder

I/O Buffers and

Data LatchesControl Logic

Serial Interface

CE# SCK SI SO WP#RST#

Flash ROM Parallel Flash Serial Flash

Page 11: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

11

ControlLogic

ADD Input Buffer

Pre Decoder

Block

Decoder

Column

Decoder

Row Decoder

Memory Array

1,024 x 16

Sense Amp

Write Driver

Data I/O Buffer

/CS1CS2/WE/OE/LB/UB

A[19:0]DQ[15:0]

SRAM SRAM 의 구조 및 특징

메모리 셀 : 플립플롭 DRAM 에 비해 속도가 빠름 . 리프래시가 필요 없어 메모리 관련 회로가 간단 집적도가 낮고 , 소비전력이 크며 , 가격이 비싸다 .

Page 12: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

12

PSEN

P0.0-7

/OE

A0-7

/WE

A8-14

DQ0-7

/CE

/OE

A0-7

/WE

DQ0-7

/CE

ALE

P2.0-6

P3.0-4

P3.5

P3.6

P3.7

P2.7

A8-14

A16-20

D0-7

LE

Q0-7

DS80c323Microcontroller

Program Memory

Ds1230w-15032k x 8NVSRAM

OR

32k x 8EPROMEEPROMFLASH

DataMemory

DS1270W-1502M x 8NVSRAM

< 프로그램과 데이터 저장을 위하여 SRAM 메모리를 상용한 예제 >

SRAM SRAM 의 사용 예제

Page 13: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

13

Clock Generator

Column Address Buffer

Refresh Controller

Refresh Counter

Row Address Buffers

Clock Generator

Data In Buffer

Data Out Buffer

Column Decoder

Sense Amp

Memory ArrayRo

w

Decoder

/WE/CAS

Address

/RAS

D

Q

<DRAM 의 Block Diagram>

1-of-128 decoder

1-of-128

decoder

A6

A5

A4

A3

A2

A1

A0

A7A8A9A10A11A12A13

Row address inputs

C o l u m n a d d r e s s i n p u t s

<DRAM 의 메모리 셀 배열 구조 >

DRAM DRAM 의 구조 및 특징

메모리 셀 : 캐패시터 리프래시 필요 . 집적도 높음 . 소비전력이 상대적으로 적음 . 범용 컴퓨터의 주기억 장치로 사용

Page 14: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

14

DRAM DRAM 의 종류

FPM RAM (Fast Page Mode RAM) EDO RAM (Extend Data Out RAM) BEDO RAM (Burst Extended Data Out RAM)

Page 15: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

15

DRAM SRAM

Refresh 주기적 필요 없다액세스 주기 느리다 빠르다

회로구조 단순하다 복잡하다칩크기 작다 크다

가격 싸다 비싸다용도 일반메모리 캐시메모리

SRAM 의 내부구조 (6 개의 TR 로 구성 )

DRAM 의 내부구조 (1 개의 TR 과 C 로 구성 )

DRAM & SRAM DRAM 과 SRAM 비교

Page 16: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

16

SRAM 의 기본적인 타이밍도

DRAM 의 기본적인 타이밍도

ROW COLUMN

DATAVALID

MUX

RAS

CAS

Address

DATA OUT

New Address valid

Data Valid

Address inputs

R/W

CS

Data outputs to bus

New Address validAddress inputs

R/W

CS

Data input to

bus

Data Valid

ROW COLUMN

MUX

RAS

CAS

Address

DATA OUT

R/W

DATAVALID

< Write Timing > < Read Timing>

< Write Timing> < Read Timing>

DRAM & SRAM

Page 17: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

17

SDRAM 의 구조 및 특징

High-speed Dynamic Random Access Memory.

CONTROLLOGIC

COMMAND

DECODE

MODE REGISTER

RefreshCounter Row

Address Mux

Row Address Latch & Decoder

Memory Array

Sense Amp

I/O Gating DQM Mask Logic Read Data Latch

Write Drivers

Column Decoder

Bank Control Logic

Column Address

Counter/Latch

Address Register

Data Input

Output Register

CKECLK/CS/WE/CAS/RAS

AddressData

SDRAM

Page 18: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

18

ControlLogic

&FiniteState

Machine

ModeRegister

Col. AddLatch

Row AddLatch

RefreshCounter

BurstCounter

RowMux

Bank ACell Array

Sense AmpRow Decoder

Bank ACell Array

Sense Amp

Row Decoder

Column Decoder

Wirte Register

Read Registe

Write Register

Read Register

CKECLK/CS

DQM/WE

/CAS/RAS

BA(A11)

A0 … A11

DQ0

… 7

SDRAM SDRAM Controller 구조

Page 19: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

19

IDLE

BankActivate

ROW(Bank)Active

WRITEREAD

READ withAUTO Precharge

WRITE withAUTO Precharge

Pre-charging

SDRAM SDRAM 의 동작 방법

Page 20: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

20

Clock Suspend

Any Bank Active

All Bank Idle

Self Refresh Power Down

Pre-charging

ModeRegisterAccesing

Precharging

SDRAM SDRAM 의 동작 모드

Page 21: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

21

AHB Interface

AHB Data Buffers

ArbiterPipelined Control

Address Mux

Page Hit Curcit

SDRAM or

SDRAM DIMM

Programmable timers

Control Registers

User Interface

AHB Bus

< Eureka Technology 의 EP504 의 Block Diagram (User Interface 는 System Core Logic (DMA or PCI bus bridge 를 의미한다 .) >

SDRAM SDRAM 과 ARM-Based System Interface

Page 22: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

22

User Interface

Bus

Command Execution Engine

Generic I/F Block

Initialization Control

Logic

Data Bus Interface Block

DDR SDRAM

Interface Bus

Cmd

Address

Busy

Cmd

Address

Data_in

Data_out

Address

Control

Chip Select

Data In/Out

Data Mask

Data Strobe

DDR SDRAM DDR SDRAM 의 구조 및 특징

Page 23: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

23

Read

Q0 Q1 Q2 Q3 D0 D1 D2

Write

Read Write

Q0 Q0 Q0 Q0 D0 D1 D2 D3

CLK

Command

DQs

Command

DQs

DQs

SDRAM

DDR

SDRAM

DDR SDRAM DDR SDRAM 의 기본 타이밍도

Page 24: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

24

Data Register128 bits

Address Register 24 bits

Start Address

Configuration

Burst Count

ControllerState Machines

RCD_cntrRAS-to-CAS

latency

Refresh_cntr

Burst_cntr CAS_lat_cntr

DDR IOB FFs

dimm_dq

dimm_a

dimm_ba

DDR IOB FFs

dimm_dqs

dimm_s0Ndimm_s1Ndimm_weNdimm_rasNdimm_casNdimm_cke0dimm_cke1

usb_doneddr_aeddr_af

usb_go1ddr_validddr_stepusb_cs1

usb_mask

usb_rdusb_strobe

usb_sd

usb_ra

ddr_data_out

ddr_data_in128

12864 64

12

2

8 8

3

8

DDR SDRAM DDR SDRAM Controller(1/2)

Page 25: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

25

IDLE

PRECHARGELOAD MODE REGISTER

AUTO REFRESH

ACTIVE

READ STATE MACHINE

WRITE STATE MACHINE

ROW_END or WR_STOP or Precharge

AUTO_REFREADor

WRITE

READ & RCE_END

WRITE & RCE_END

LD_MODE_REGACTIVE

READ_WAIT

BURST_STOP BURST_READ

READ & RCD_END

AUTO_REF orFIFO_FULL or

~USB_GOFLAGR &

CAS_LAT_END

ACTIVE

WRITE_WAIT

BURST_WRITE

READ & RCD_END

FLAGW

DDR SDRAM DDR SDRAM Controller(2/2)

Page 26: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

26

Features DDR SDRAM SDRAM

General

Package 66pin TSOP-II 54pin TSOP II

Organization X4, x8, x16 X4, x8, x16

Internal banks 4 2, 4

Performance

Applied clock 66Mhz ~ ~ 143Mhz

CAS latency 1.5, 2, 2.5 2, 3

Write latency 1 0

Burst length 2, 4, 8 2, 4, 8, full page

Interface I/O levels SSTL LVTTL

Features

On-chip DLL Yes Yes

Data Strobe (DQS) Yes No

Power Down Yes Yes

Clock suspend No Yes

Burst read single bit write No Yes

Auto Precharge / Precharge all

Yes Yes

Auto Refresh/Self refresh Yes Yes

DDR SDRAM & SDRAM DDR SDRAM 과 SDRAM 의 성능 비교

Page 27: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

27

VIDEO RAM VIDEO RAM 의 필요성

많은 수의 Pixel 요구 => 많은 메모리 요구 ( 1280 x 1024 x 32 bits/pixel => 5.1Mb )

Double Buffering => Double Memory Two frames of above => 10.2Mb Pixel 수보다 많은 데이터 저장 필요 (e.g. textures) Performance in this instance means BANDWIDTH 빠른 입출력 성능 요구

VIDEO RAM 의 필요성 SGRAM (Synchronous Graphics RAM) WRAM ( Windows RAM ) 3D-RAM

Page 28: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

28

N cols N cols

N

ro

ws

N

ro

ws

Column Address

Column Address

Row Address

Row Address

DRAM DRAM

M-bit Randmo Port

M bits

M bitsOutput

M bitsSerial Port

NxM S/A

NxM Shfit Reg.

M bits

Page Mod DRAM VRAM

NxM S/A

Outpur

Buffer

Input Buffer

Input Buffer

Serial

Output

Buffer

Serial Input

Buffer

Special Function

Logic

Color

Register

Write-Per-Bit Control

W/B LatchAddress Mask

W/B Unlatch

Column Decoder

Sense Amp

Sense Amp

Data Transfer Gate

Serial Data Register

Serial Data Pointer

Split Register

Row Decoder

Serial Address

Counter

Column

Buffer

Row

Buffer

Refresh

Counter

Timing Generator

DQ[3:0]

DSF

SDQ[3:0]

QSF

A[7:0]

/RAS/CAS/TRG/W

SE/SC

VIDEO RAM Video RAM 의 구조 및 특징

Shift Register 부 ( SAM : Serial Access Memory) 를 내장 Random Access Port : Graphic Controller 가 drawing

하는데 이용 Serial Port : CRT Display 용으로 이용 Dual Port Ram

Page 29: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

29

메모리를 위해 제공하는 File 구조

삼성 삼성 STD130 LibrarySTD130 Library 에서 제공하는 에서 제공하는 ROMROM 을 사용하여 을 사용하여 Simulation Simulation 하기 위해서는 두 가지의 파일이 필요하기 위해서는 두 가지의 파일이 필요

메모리 Model Source 파일 ROM 의 Data 를 저장하는 File 명의 의미

삼성 삼성 STD130 LibrarySTD130 Library 에서 제공하는 에서 제공하는 RAMRAM 을 사용하여 을 사용하여 Simulation Simulation 하기 위해서는 하기 위해서는 Memory Model Memory Model 파일이 필요파일이 필요

메모리 Model Source 파일

SAMSUNG STD130

Page 30: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

30

SDT130 에서 제공하는 ROM DROM_HD : High-Density Synchronous Diffusion Programmable ROM MROM_HD : High-Density Synchronous Metal-2 Programmable ROM

STD130 에서 제공하는 RAM High-Density Compiled Memory Low-Power Compiled Memory

SAMSUNG STD130

Page 31: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

31

ROM 모델 파일 편집법 (1/4)

SAMSUNG STD130

[ 예제 : Memory model file 의 Header]

-- LIBRARY : STD130-- LANGUAGE : Verilog-HDL-- MEMORY TYPE : mrom :SINGLE PORT METAL ROM .-- CONFIGURATION : Depth=256, Bits=32, Ymux=8, bank=1.-- AUTHOR(S) : Kim Hae-joong-- REVISION : 2003.06.06 (V1.0)-- FILE NAME : mrom_hd_256x32m_seed_rom_g_ss0.mdlp

Page 32: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

32

ROM 모델 파일 편집법 (2/4)

SAMSUNG STD130

[ 예제 : Memory model file 의 Header] Single Port Metal ROM WITH : CK clock input (this is actually clock) address port DOUT data output CSN active low chip select (power down) OEN active low output drive enable (tri-state outputs) word_width default word width (= 32) word_depth default RAM depth (= 256) addr_width default address width (= 8)

Note : 1. To suppress input unknown related warning message, use + define + no_mem_message

Page 33: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

33

ROM 모델 파일 편집법 (3/4)

SAMSUNG STD130

[ 예제 : Memory model file] `timescale 1ns / 100ps

module mrom_hd_256x32m8b1_seed_rom_g_ss0 ( CK, CSN, OEN, A, DOUT );

parameter word_width = 32, word_depth = 256, addr_width = 8;

[ 예제 : Memory model File] initial $readmemb("mrom256x32_seed_rom_g_ss0.dat", memory);

Page 34: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

34

ROM 모델 파일 편집법 (4/4)

SAMSUNG STD130

[ 예제 : ROM Data File]

001010011000100110100001101010000000010110000101100000011000010000010110110001101101001011010100000100111100001111010011110100000001010001000100010100000101010000011101000011010001000100011100001011001000110010100000101011000010010100000101001000010010010000011101010011010101000101011100………………

Page 35: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

35

RAM 모델 파일 편집법 (1/3)

SAMSUNG STD130

[ 예제 : Memory model file 의 Header]

-- LIBRARY : STD130-- LANGUAGE : Verilog-HDL-- MEMORY TYPE : mrom :SINGLE PORT METAL ROM -- CONFIGURATION : Depth=256, Bits=32, Ymux=8-- AUTHOR(S) : Kim Hae-joong-- REVISION : 2003.06.06 (V1.0)-- FILE NAME : arfram_hd_1r1w_16x32m2.mdlp

Note : 1. To suppress input unknown related warning message, use + define + no_mem_message

Page 36: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

36

RAM 모델 파일 편집법 (2/3)

SAMSUNG STD130

[ 예제 : Memory model file] `timescale 1ns / 100ps

module arfram_hd_1r1w_16x32m2 (CK0, WEN0, DI0, REN0, OEN0, RA0, WA0, DOUT0);

parameter WORDS = 16, BITS = 32, WRITES = 1, READS = 1, ADRS = 4;

Page 37: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

37

RAM 모델 파일 편집법 (3/3)

SAMSUNG STD130

[ 예제 : Memory model File]/*** PRE-DATA-LOAD ROUTINE *****************/parameter MEMORY_DATA_FILE = "";initial if (MEMORY_DATA_FILE != "") begin $readmemb(MEMORY_DATA_FILE, mem); $display(">> Note : RAM instance, %m is running with an external data file called %s.", MEMORY_DATA_FILE); $display(“ This PRE-DATA-LOADING feature is used for faster data loading of RAM"); $display(“ to reduce simulation run time. But, Please remember this :"); $display(" Because this behavior is not identical with physical memory operation,"); $display(“ this feature should not be used in real simulation.");end

Page 38: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

38

NC-Destop 에서의 검증 (1/2)

SAMSUNG STD130

Page 39: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

39

NC-Destop 에서의 검증 (2/2)

SAMSUNG STD130

Page 40: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

40

Altera LPM Library ROM : 내부 ROM 을 사용하기 위하여 LPM Library 를 이용하는 방법

ROM Data 파일을 작성 한다 . Mega Wizard 를 이용하여 ROM 을 생성한다 . 생성된 ROM 을 Quartus II 의 Simulator 를 이용하여 검증한다 . MegaWizard 로 생성된 LPM Library ROM Module

FPGA (Altera)

Page 41: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

41

ROM Data 생성

FPGA (Altera)

Page 42: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

42

MegaWizard 를 이용한 ROM 생성 (1/3)

FPGA (Altera)

Page 43: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

43

MegaWizard 를 이용한 ROM 생성 (2/3)

FPGA (Altera)

Page 44: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

44

MegaWizard 를 이용한 ROM 생성 (3/3)

FPGA (Altera)

Page 45: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

45

MegaWizard 로 생성된 동기 ROM Simulation

FPGA (Altera)

Page 46: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

46

MegaWizard 로 생성된 LPM Library ROM Module

FPGA (Altera)

module altera_rom_32x256 (address,inclock,q);input [7:0] address;input inclock;output [31:0] q;

wire [31:0] sub_wire0;wire [31:0] q = sub_wire0[31:0];

lpm_rom lpm_rom_component ( .address (address), .inclock (inclock), .q (sub_wire0));

defparamlpm_rom_component.intended_device_family = "APEX20KE",lpm_rom_component.lpm_width = 32,lpm_rom_component.lpm_widthad = 8,lpm_rom_component.lpm_address_control = "REGISTERED",lpm_rom_component.lpm_outdata = "UNREGISTERED",lpm_rom_component.lpm_file =

"C:/newchips/ram_rom_example/altera_rom/altera_rom_32x256.mif",lpm_rom_component.lpm_type = "LPM_ROM";

endmodule

Page 47: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

47

Altera LPM Library RAM : 내부 RAM 을 사용하기 위하여 LPM Library 를 이용하는 방법

Mega Wizard 를 이용하여 RAM 을 생성 생성된 RAM 을 Quartus II 의 Simulator 를 이용하여 검증 MegaWizard 로 생성된 LPM Library RAM Module

FPGA (Altera)

Page 48: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

48

MegaWizard 를 이용한 RAM 생성 (1/3)

FPGA (Altera)

Page 49: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

49

MegaWizard 를 이용한 RAM 생성 (2/3)

FPGA (Altera)

Page 50: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

50

MegaWizard 를 이용한 RAM 생성 (3/3)

FPGA (Altera)

Page 51: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

51

MegaWizard 로 생성된 LPM Library RAM Module

FPGA (Altera)

module altera_ram_32x256 (address, we, inclock, data, q);

input [7:0] address;input we;input inclock;input [31:0] data;output [31:0] q;

wire [31:0] sub_wire0;wire [31:0] q = sub_wire0[31:0];

lpm_ram_dq lpm_ram_dq_component (.address (address),.inclock (inclock),.data (data),.we (we),.q (sub_wire0));

defparamlpm_ram_dq_component.intended_device_family = "APEX20KE",lpm_ram_dq_component.lpm_width = 32,lpm_ram_dq_component.lpm_widthad = 8,lpm_ram_dq_component.lpm_indata = "REGISTERED",lpm_ram_dq_component.lpm_address_control = "REGISTERED",lpm_ram_dq_component.lpm_outdata = "UNREGISTERED",lpm_ram_dq_component.use_eab = "ON",lpm_ram_dq_component.lpm_type = "LPM_RAM_DQ";

endmodule

Page 52: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

52

MegaWizard 로 생성된 동기 ROM Simulation

FPGA (Altera)

Page 53: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

53

참고문헌 ROM & RAM EXAMPLE

Page 54: Module 8 Memory Structure For Data Storage 정용진 교수 ( 광운대학교 )

Copyright 2003ⓒ

Module 8. Memory Structure For Data Storage

54

담 당 자 : 광운대학교 전자통신공학과 정용진 교수주 소 : 서울특별시 노원구 월계동 447-1 광운대학교 전자통신공학과전화 번호 : 02-940-5551팩 스 : 02-942-5517이 메 일 : [email protected]