Simulating the ASMI Block in Your Design

Similar documents
Nios II Performance Benchmarks

PCI Express Multi-Channel DMA Interface

MAX 10 User Flash Memory User Guide

10. Introduction to UniPHY IP

Using the Serial FlashLoader With the Quartus II Software

Using the Serial FlashLoader with the Quartus II Software

Altera ASMI Parallel IP Core User Guide

8. Introduction to UniPHY IP

DSP Development Kit, Stratix II Edition

AN 370: Using the Intel FPGA Serial Flash Loader with the Intel Quartus Prime Software

EFEC20 IP Core. Features

DDR & DDR2 SDRAM Controller Compiler

9. SEU Mitigation in Cyclone IV Devices

NIOS II Processor Booting Methods In MAX 10 Devices

Altera ASMI Parallel II IP Core User Guide

Real-Time ISP and ISP Clamp for Altera CPLDs

DDR & DDR2 SDRAM Controller Compiler

UTOPIA Level 2 Slave MegaCore Function

Table 1 shows the issues that affect the FIR Compiler, v6.1. Table 1. FIR Compiler, v6.1 Issues.

Intel Stratix 10 H-tile Hard IP for Ethernet Design Example User Guide

ASMI Parallel II Intel FPGA IP Core User Guide

Table 1 shows the issues that affect the FIR Compiler v7.1.

Nios II Embedded Design Suite 6.1 Release Notes

Implementing 9.8G CPRI in Arria V GT and ST FPGAs

ALTDQ_DQS2 Megafunction User Guide

4. TriMatrix Embedded Memory Blocks in HardCopy IV Devices

DDR & DDR2 SDRAM Controller Compiler

QDR II SRAM Board Design Guidelines

Intel Quartus Prime Software Download and Installation Quick Start Guide

Quartus II Software Version 11.0 SP1 Device Support

Remote Update Intel FPGA IP User Guide

FPGAs Provide Reconfigurable DSP Solutions

13. HardCopy Design Migration Guidelines

Recommended Protocol Configurations for Stratix IV GX FPGAs

Simulating the PCI MegaCore Function Behavioral Models

Customizable Flash Programmer User Guide

ByteBlaster II Parallel Port Download Cable

Using the Nios Development Board Configuration Controller Reference Designs

Enhanced Configuration Devices

Dynamic Reconfiguration of PMA Controls in Stratix V Devices

Configuration via Protocol (CvP) Implementation in Altera FPGAs User Guide

Board Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit)

Intel Stratix 10 Logic Array Blocks and Adaptive Logic Modules User Guide

Low Latency 40G Ethernet Example Design User Guide

Configuration via Protocol (CvP) Implementation in Altera FPGAs User Guide

Nios II Embedded Design Suite 7.1 Release Notes

AN 756: Altera GPIO to Altera PHYLite Design Implementation Guidelines

Cyclone II FPGA Family

AN822: Intel Configuration Device Migration Guideline

Intel Stratix 10 H-Tile PCIe Link Hardware Validation

DSP Builder. DSP Builder v6.1 Issues. Error When Directory Pathname is a Network UNC Path

Video and Image Processing Suite

Intel FPGA Temperature Sensor IP Core User Guide

100G Interlaken MegaCore Function User Guide

AN822: Intel FPGA Configuration Device Migration Guideline

Configuration via Protocol (CvP) Implementation in V-series FPGA Devices User Guide

USB BitJetLite Download Cable

Quad-Serial Configuration (EPCQ) Devices Datasheet

High Bandwidth Memory (HBM2) Interface Intel FPGA IP Design Example User Guide

Intel Acceleration Stack for Intel Xeon CPU with FPGAs 1.0 Errata

Active Serial Memory Interface

Intel Arria 10 Native Floating- Point DSP Intel FPGA IP User Guide

Altera I/O Phase-Locked Loop (Altera IOPLL) IP Core User Guide

24K FFT for 3GPP LTE RACH Detection

POS-PHY Level 4 MegaCore Function

Quartus Prime Standard Edition Software and Device Support Release Notes Version 15.1

DDR & DDR2 SDRAM Controller

FFT MegaCore Function

9. Functional Description Example Designs

Interlaken IP Core (2nd Generation) Design Example User Guide

PCI Express Compiler. System Requirements. New Features & Enhancements

Intel FPGA USB Download Cable User Guide

Altera ASMI Parallel IP Core User Guide

Using Verplex Conformal LEC for Formal Verification of Design Functionality

Simulating the PCI MegaCore Function Behavioral Models

The Automotive-Grade Device Handbook

Configuration via Protocol (CvP) Implementation in Altera FPGAs User Guide

Introduction. Design Hierarchy. FPGA Compiler II BLIS & the Quartus II LogicLock Design Flow

Arria 10 Transceiver PHY User Guide

ByteBlaster II Download Cable User Guide

Intel FPGA USB Download Cable User Guide

HPS SoC Boot Guide - Cyclone V SoC Development Kit

System Debugging Tools Overview

FFT MegaCore Function User Guide

Generic Serial Flash Interface Intel FPGA IP Core User Guide

Quartus II Software Version 10.0 SP1 Device Support

Intel Cyclone 10 External Memory Interfaces IP Design Example User Guide

Upgrading to UniPHY-based Controllers from ALTMEMPHY-based Controllers

DDR & DDR2 SDRAM Controller

Error Correction Code (ALTECC_ENCODER and ALTECC_DECODER) Megafunctions User Guide

Design Guidelines for Using DSP Blocks

External Memory Interfaces Intel Arria 10 FPGA IP Design Example User Guide

Intel FPGA Voltage Sensor IP Core User Guide

AN 834: Developing for the Intel HLS Compiler with an IDE

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board

Design Guidelines for Using DSP Blocks

Intel MAX 10 User Flash Memory User Guide

RLDRAM II Controller MegaCore Function

2.5G Reed-Solomon II MegaCore Function Reference Design

Errata Sheet for Cyclone IV Devices

Transcription:

2015.08.03 AN-720 Subscribe Supported Devices Overview You can simulate the ASMI block in your design for the following devices: Arria V, Arria V GZ, Arria 10 Cyclone V Stratix V In the Quartus II software, the supported FPGA devices support the ASMI block, allowing you to access your EPCS/EPCQ flash devices. Block Diagrams for ASMI Block The Quartus II software allows the instantiation of different ASMI block atoms according to the core interface in your respective FPGA devices. Figure 1: ASMI Block Diagram for Arria V, Arria V GZ, Cyclone V, and Stratix V Devices dclk sce oe data0out data1out data2out data3out data0oe data1oe data2oe data3oe ASMIBLOCK data0in data1in data2in data3in 2015. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 Registered www.altera.com 101 Innovation Drive, San Jose, CA 95134

2 Signals for ASMI Block Figure 2: ASMI Block Diagram for Arria 10 Devices AN-720 2015.08.03 dclk sce[2:0] oe data0out data1out data2out data3out data0oe data1oe data2oe data3oe ASMIBLOCK data0in data1in data2in data3in Signals for ASMI Block This table lists the ASMI block signals. Table 1: Signals for ASMI Block Signal Direction Width (bits) Description dclk Input 1 Clock signal from your FPGA design to the external DCLK pin through the ASMI hard logic. sce Input 3 Chip select signal from your FPGA design to the external ncso pin through the ASMI hard logic. oe Input 1 Active-low signal to enable DCLK and ncso pins to reach the flash. The DCLK and ncso are fixed to high when you set this signal to high, blocking the connection between FPGA and flash. data0out data1out data2out data3out Input of the ASMI block, which outputs the data from your FPGA design to the AS data pin 4 Control signal from your FPGA design to the AS data pin for sending data into the serial configuration device. If you want to connect your Arria 10, Arria V, Arria V GZ, Cyclone V, or Stratix V device to the EPCS device, Altera recommends setting the data out ports to the following: data0out = FPGA design data to the EPCS through the AS_DATA0 pin. data1out = 1'b0 data2out = 1'b1 data3out = 1'b1

AN-720 2015.08.03 WYSIWYG for ASMI Block 3 Signal Direction Width (bits) Description data0oe data1oe data2oe data3oe Input 4 Controls data pin either as input or output because the dedicated pins for active serial data is bidirectional. To set the AS data pin as input, set the desired data pin oe to 0. To set the AS data pin as output, set the desired data pin oe to 1. If you want to connect your Arria 10, Arria V, Arria V GZ, Cyclone V or Stratix V device to the EPCS device, then set the data pin oe to the following: data0oe = 1'b1 data1oe = 1'b0 data2oe = 1'b1 data3oe = 1'b1 data0in data1in data2in data3in Output of the ASMI block, which receives input from the AS data pin and outputs to your FPGA design 4 Signal from the AS data pin to your FPGA design. If you want to connect your Arria 10, Arria V, Arria V GZ, Cyclone V or Stratix V device to the EPCS device, then set the data in pin to the following: data0in = don't care data1in = EPCS device data to your FPGA design through the AS_DATA1 pin. data2in = don't care data3in = don't care WYSIWYG for ASMI Block If you want to use ASMI in user mode, then you must instantiate the WYSIWYG of the ASMI block in your design. Instantiating the WYSIWYG of the ASMI block in your design allows you to access the active serial pins from the FPGA user design. Example 1: Example of Verilog WYSIWYG for Arria V, Arria V GZ, Cyclone V, and Stratix V ASMI Block <device>_asmiblock <name> (.dclk(<clock source from user design>),.sce(<1 bit SCE from user design>),.oe(<output enable from user design>),.data0out(<as_data0 from user design>),.data1out(<as_data1 from user design>),.data2out(<as_data2 from user design>),.data3out(<as_data3 from user design>),.data0oe (<OE of data0out from user design>),.data1oe (<OE of data1out from user design>),.data2oe (<OE of data2out from user design>),.data3oe (<OE of data3out from user design>),

4 WYSIWYG for ASMI Block.data0in(<AS_DATA0 to user design>),.data1in(<as_data1 to user design>),.data2in(<as_data2 to user design>),.data3in(<as_data3 to user design>) defparam <name>.enable_sim = "false"; AN-720 2015.08.03 Example 2: Example of VHDL WYSIWYG for Arria V, Arria V GZ, Cyclone V, and Stratix V ASMI Block component <device>_asmiblock generic( enable_sim : string := "false" port( dclk : in std_logic; sce : in std_logic; oe : in std_logic; data0out : in std_logic; data1out : in std_logic; data2out : in std_logic; data3out : in std_logic; data0oe : in std_logic; data1oe : in std_logic; data2oe : in std_logic; data3oe : in std_logic; data0in : out std_logic; data1in : out std_logic; data2in : out std_logic; data3in : out std_logic end component; Example 3: Example of Verilog WYSIWYG for Arria 10 ASMI Block <device>_asmiblock <name> (.dclk(<clock source from user design>),.sce(<3 bit SCE from user design>),.oe(<output enable from user design>),.data0out(<as_data0 from user design>),.data1out(<as_data1 from user design>),.data2out(<as_data2 from user design>),.data3out(<as_data3 from user design>),.data0oe (<OE of data0out from user design>),.data1oe (<OE of data1out from user design>),.data2oe (<OE of data2out from user design>),.data3oe (<OE of data3out from user design>),.data0in(<as_data0 to user design>),.data1in(<as_data1 to user design>),.data2in(<as_data2 to user design>),.data3in(<as_data3 to user design>) defparam <name>.enable_sim = "false";

AN-720 2015.08.03 5 Example 4: Example of VHDL WYSIWYG for Arria 10 ASMI Block component <device>_asmiblock generic( enable_sim : string := "false" port( dclk : in std_logic; sce : in std_logic_vector(2 downto 0 oe : in std_logic; data0out : in std_logic; data1out : in std_logic; data2out : in std_logic; data3out : in std_logic; data0oe : in std_logic; data1oe : in std_logic; data2oe : in std_logic; data3oe : in std_logic; data0in : out std_logic; data1in : out std_logic; data2in : out std_logic; data3in : out std_logic end component; To simulate the ASMI block in your design with a flash simulation model, set the enable_sim parameter from false to true. Then, create a wrapper with the same module name in the simulation project. Example: Simulating the ASMI Block in a Stratix V Device To simulate the ASMI block in a Stratix V device, follow these steps: 1. Create a design which instantiates the ASMI block, and set the enable_sim parameter to true.

6 Example: Simulating the ASMI Block in a Stratix V Device Figure 3: Sample Code to Instantiate the ASMI Block AN-720 2015.08.03 stratixv_asmiblock dut (.dclk(),.sce(),.oe(),.data0out(),.data1out(),.data2out(),.data3out(),.data0oe (),.data1oe (),.data2oe (),.data3oe (),.data0in(),.data1in(),.data2in(),.data3in() defparam dut.enable_sim = true ; 2. Compile the design in the Quartus II software and ensure that the design does not contain any syntax error. 3. Create a wrapper to connect a third-party flash simulation model to the ASMI block through the asmi_sim_model module. Note that the interface for the asmi_sim_model module varies according to devices. Figure 4: Sample Code for Wrapper to Connect the Flash Model with the ASMI Block timescale 1ps/1ps module asmi_sim_model( DCLK, ncso, AS_DATA0, AS_DATA1, AS_DATA2, AS_DATA3 in put DCLK, ncso; inout AS_DATA0, AS_DATA1, AS_DATA2, AS_DATA3; // third party flash simulation module N25Qxxx device_model(.s(ncso),.c(dclk),.hold_dq3(as_data3),.dq0(as_data0),.dq1(as_data1),.vcc( d3300),.vpp_w_dq2(as_data2) endmodule 4. In a simulation project, compile the following files to your working folder:

AN-720 2015.08.03 Document Revision History 7 Flash simulation model asmi_sim_model design wrapper quartus/eda/sim_lib/stratixv_atoms.v or quartus/eda/sim_lib/stratixv_atoms.vhd (if you are not using the ModelSim -Altera software) Note: The ModelSim-Altera software contains all device atom libraries, so no compilation is needed. 5. Run simulation. The FPGA design is connected to the flash simulation model via the ASMI interface. Document Revision History This table lists the revision history for this application note. Table 2: Document Revision History Date Version Changes August 2015 2015.08.03 Added example of VHDL WYSIWYG for Arria V, Arria V GZ, Cyclone V, Stratix V, and Arria 10 ASMI Block. Added working folder path for VHDL. Removed statement stating compiling and simulating the active serial memory interface (ASMI) block is available from Quartus II version 14.0 onwards. December 2014 2014.12.15 Initial release.