MAX 10. Memory Modules

Similar documents
Counters. Counter Types. Variations. Modulo Gray Code BCD (Decimal) Decade Ring Johnson (twisted ring) LFSR

Digital Systems Design

Chapter 2. Cyclone II Architecture

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

In our case Dr. Johnson is setting the best practices

Field Programmable Gate Array

Digital System Construction

ALTERA M9K EMBEDDED MEMORY BLOCKS

4. TriMatrix Embedded Memory Blocks in HardCopy IV Devices

Section I. Cyclone II Device Family Data Sheet

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 15 Memories

On-Chip Memory Implementations

ECE 485/585 Microprocessor System Design

Summary of FPGA & VHDL

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

2. TriMatrix Embedded Memory Blocks in Stratix II and Stratix II GX Devices

Section I. Cyclone FPGA Family Data Sheet

Programmable Logic. Simple Programmable Logic Devices

Altera FLEX 8000 Block Diagram

ALTERA FPGAs Architecture & Design

Laboratory Memory Components

Codec. WM8731 Audio Codec

8. Migrating Stratix II Device Resources to HardCopy II Devices

VHDL And Synthesis Review

Laboratory Exercise 8

Using TriMatrix Embedded Memory Blocks

Timing in synchronous systems

Field Programmable Gate Array (FPGA)

EECS150 - Digital Design Lecture 16 Memory 1

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

MAX 10 Embedded Memory User Guide

Intel MAX 10 Embedded Memory User Guide

3. Memory Blocks in the Cyclone III Device Family

Problem Set 10 Solutions

MAX 10 Embedded Memory User Guide

Design with Microprocessors

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

ECEU530. Project Presentations. ECE U530 Digital Hardware Synthesis. Rest of Semester. Memory Structures

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

3. Memory Blocks in Cyclone III Devices

Section I. Cyclone FPGA Family Data Sheet

EECS150 - Digital Design Lecture 16 - Memory

The CPU Bus : Structure 0

EECS150 - Digital Design Lecture 13 - Project Description, Part 2: Memory Blocks. Project Overview

Embedded Memory Blocks in Arria V Devices

Section I. Cyclone II Device Family Data Sheet

Section I. Cyclone FPGA Family Data Sheet

Lecture 4: Modeling in VHDL (Continued ) EE 3610 Digital Systems

2. Stratix II Architecture

The Virtex FPGA and Introduction to design techniques

Hardware Design with VHDL Design Example: BRAM ECE 443

Chapter 5 Internal Memory

ECE 545: Lecture 11. Programmable Logic Memories

ECE 545: Lecture 11. Programmable Logic Memories. Recommended reading. Memory Types. Memory Types. Memory Types specific to Xilinx FPGAs

Altera s Avalon Communication Fabric

NIOS Character. Last updated 7/16/18

ECE 545 Lecture 17 RAM. George Mason University

Quartus Counter Example. Last updated 9/6/18

Stratix. Introduction. Features... 10,570 to 114,140 LEs; see Table 1. FPGA Family. Preliminary Information

Introduction. ECE/CS 5780/6780: Embedded System Design. Memory-Mapped I/O. Isolated I/O. Expanded Mode. Multiplexed Address and Data Lines

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

Digital Design: An Embedded Systems Approach Using VHDL

Intel Arria 10 Core Fabric and General Purpose I/Os Handbook

Section III. Transport and Communication

Cyclone II FPGA Family

ECE 699: Lecture 9. Programmable Logic Memories

SRAM. Introduction. Digital IC

Design with Microprocessors

Review: Timing. EECS Components and Design Techniques for Digital Systems. Lec 13 Storage: Regs, SRAM, ROM. Outline.

Sign here to give permission for your test to be returned in class, where others might see your score:

Arria 10 Core Fabric and General Purpose I/Os Handbook

HDL Coding Style Xilinx, Inc. All Rights Reserved

The simplest form of storage is a register file. All microprocessors have register files, which are known as registers in the architectural context.

Stratix. Introduction. Features... Programmable Logic Device Family. Preliminary Information

Digital System Design Lecture 7: Altera FPGAs. Amir Masoud Gharehbaghi

Sequential Logic - Module 5

ALTERA FPGA Design Using Verilog

Address connections Data connections Selection connections

Test Benches - Module 8

Introduction to CMOS VLSI Design Lecture 13: SRAM

CDA 4253 FGPA System Design Xilinx FPGA Memories. Hao Zheng Comp Sci & Eng USF

University of Florida EEL 3701 Drs. Eric M. Schwartz & Karl Gugel. Quartus ROM Creation Instructions (in Quartus Prime Lite 17.1)

DATA SHEET AGM AG16K FPGA. Low Cost and High Performance FPGA. Revision: 1.0. Page 1 of 17

Sequential Circuit Design: Principle

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to Design Vision. Instructor: Prof. Shantanu Dutt. TA: Soumya Banerjee

13. Recommended HDL Coding Styles

Computer Organization. 8th Edition. Chapter 5 Internal Memory

08 - Address Generator Unit (AGU)

Introduction to Computer Design

IP cores. V. Angelov

Digital Integrated Circuits Lecture 13: SRAM

Virtex-II Architecture. Virtex II technical, Design Solutions. Active Interconnect Technology (continued)

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed.

Memory System Overview. DMA & Endian-ness. Technology. Architectural. Problem: The Memory Wall

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University

Department of Electronics & Communication Engineering Lab Manual E-CAD Lab

PCI to SH-3 AN Hitachi SH3 to PCI bus

Transcription:

MAX 10 Memory Modules

Three types of on-chip memory FF based memory embedded in the LEs Most efficient for very small memories Compiler driven Embedded SRAM block 8K bits + 1024 parity bits (9216b) MAX 10-M50 has 182 blocks 1,456Kb + parity = 1,677,312b total User Flash User Programmable 5,888Kb Configuration - 10,752Kb 2 tj

FF based memory embedded in the LEs Register File Static N bits wide M bits deep Synchronous (using DFF) Asynchronous (using latches) Inefficient for all but the smallest memories 3 tj

-------------------------------------- -- -- RegFile.vhdl -- -- created 7/19/17 -- tj -- -- rev 0 ---------------------------------------- -- -- Register File for memory size notes ---------------------------------------- -- -- Inputs: rstb, clk, reg_write, reg_read_addr -- reg_write_addr, reg_write_data -- Outputs: reg_read_data -- ---------------------------------------- library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use ieee.math_real.all; entity RegFile is generic( REG_NUM: natural := 4; REG_DATA_WIDTH: natural := 8 ); port (clk : in std_logic; rstb : in std_logic; end entity; On-Chip Memory FF based memory embedded in the LEs reg_write: in std_logic; reg_read_addr: in std_logic_vector((integer(ceil(log2(real(reg_num))))-1) downto 0); reg_write_addr: in std_logic_vector((integer(ceil(log2(real(reg_num))))-1) downto 0); reg_write_data: in std_logic_vector(reg_data_width downto 0); reg_read_data: out std_logic_vector(reg_data_width downto 0) ); architecture behavioral of RegFile is -- -- Register File -- type reg_type is array (0 to (REG_NuM - 1)) of std_logic_vector(reg_data_width downto 0); signal reg_file: reg_type; begin -- -- Register File Write -- register_write_process: process(clk, rstb) begin if(rstb = '0') then reg_file <= ((others=> (others=>'0'))); elsif(rising_edge(clk) and (reg_write = '1')) then reg_file(to_integer(unsigned(reg_write_addr))) <= reg_write_data; end if; end process; -- -- Output Logic -- reg_read_data <= reg_file(to_integer(unsigned(reg_read_addr))); end architecture; 4 tj

FF based memory embedded in the LEs 8b x 4 9b x 1024 Equivalent to one M9K block 5 tj

Functional configurations Single-port Simple dual-port True dual-port (bidirectional dual-port) Shift register ROM FIFO buffers Memory Based Multiplier 6 tj

M4K Fixed Memory Blocks Data width (word) configurations Parity used as memory Packed Mode Single Port configuration Each M9K block can be broken into 2 independent memories Each memory must be less than ½ the full block size 18 bit word size maximum Each memory has only single clock support 7 tj

Byte Enable SRAM only Multi-byte words can be masked Src: MAX 10 Device Handbook 8 tj

Byte Enable Src: MAX 10 Device Handbook 9 tj

Address Clock Enable Holds the previous address input until enabled Clock gate Implemented as a Stall Src: MAX 10 Device Handbook 10 tj

Address Clock Enable - read Src: MAX 10 Device Handbook 11 tj

Address Clock Enable - write X X Src: MAX 10 Device Handbook 12 tj

Clock Modes Src: MAX 10 Device Handbook 13 tj

Additional Control Signals Clock Enable Enables the clock If no clock is enabled no memory activity Asynchronous Clear Clears the output data register if present No clear for the input data register Read/Write Several variations depending on mode 14 tj

Data flow-through All inputs are registered Outputs can be synchronous or asynchronous Read-during-write-mode Single port, true Dual Port Write data flows through to the output 15 tj

Read during Write Write complete 16 tj

Mixed Port Configurations 17 Src: MAX 10 Device Handbook tj

ROM SRAM with memory pre-loaded from a MIF file Single Port Read only Single Clock In/Out Clock 18 tj

ROM SRAM with memory pre-loaded from a MIF file Dual Port Read only Single Clock In/Out Clock A/B Clock 19 tj

Single Port RAM Single Clock Dual Clock Src: MAX 10 Device Handbook 20 tj

Single Port RAM - write Write addr captured Async data flow through with delay Sync data flow through with 1 clk + td delay Src: Cyclone II Device Handbook 21 tj

Single Port RAM - read Read addr captured Async read with delay Sync data read with 1 clk + td delay Src: Cyclone II Device Handbook 22 tj

Simple Dual Port RAM Separate read and write addresses Simultaneous read and write Data in and out ports do not have to have matching widths 23 tj

Simple Dual Port RAM Single Clock R/W Clock In/Out Clock 24 tj

Simple Dual Port RAM Src: Cyclone II Device Handbook 25 tj

True Dual Port RAM Supports 2 reads, 2 writes, Read/Write Multiple clock options Data in and out ports do not have to have matching widths 26 tj

True Dual Port RAM Multiple R/W Ports Single Clock R/W Clock In/Out Clock 27 tj

M4K Fixed Memory Blocks True Dual Port RAM Src: Cyclone II Device Handbook 28 tj

Multi-tap Shift RAM Multiple M4K blocks can be cascaded Src: Cyclone II Device Handbook 29 tj

FIFO Separate read and write clocks available Separate read and write data widths available Empty and Full signals 30 tj

Memory Based Multiplier 31 tj

Memory Based Multiplier 32 tj

Memory Based Multiplier 33 tj

User Flash Memory Nonvolatile available for User Flash in some configurations 34 tj

User Flash Memory Parallel Mode Operation 35 tj

User Flash Memory Parallel Mode Operation - WRITE 36 tj

User Flash Memory Parallel Mode Operation - READ 37 tj

User Flash Memory Parallel Mode Operation BURST READ 38 tj

User Flash Memory Serial Mode Operation 39 tj

User Flash Memory Serial Mode Operation - WRITE 40 tj

User Flash Memory Serial Mode Operation - READ 41 tj

User Flash Memory Serial Mode Operation BURST READ 42 tj