diff --git a/libraries/technology/ip_arria10/fifo/README.txt b/libraries/technology/ip_arria10/fifo/README.txt index 56e232cc5220e64d7f5fb1c211e5db3c89ea8d5e..48f19d8f0da8b25abe9f0f1f63591777534c35c5 100755 --- a/libraries/technology/ip_arria10/fifo/README.txt +++ b/libraries/technology/ip_arria10/fifo/README.txt @@ -6,6 +6,7 @@ Contents: 2) Arria10 IP 3) Implementation options (LUTs or block RAM) 4) Synthesis trials +5) Issues 1) FIFO components: @@ -40,13 +41,11 @@ Contents: The instantiation is copied manually from the generated/ip_arria10_fifo_*/fifo_140/sim/ip_arria10_fifo_*.vhd and saved in the <fifo_name>.vhd file. So then the MegaWizard vhd file is overwritten, but that is fine because it is no longer needed, it could easily be derived from the original in $UNB and it is still as a previous verion in SVN. - 3) Implementation options (LUTs or block RAM) - The IP FIFO can be set to use LUTs (MLAB) or block RAM (M20K), however this is not supported yet. This would imply - adding a generic to set the appropriate parameter in the altera_mf. + The IP FIFO can be set to use LUTs (MLAB) or block RAM (M20K) via g_use_eab. 4) Synthesis trials @@ -56,6 +55,7 @@ Contents: in the file tab of the Quartus project navigator window. Then check the resource usage in the synthesis and fitter reports. + 5) Issues No issues. \ No newline at end of file diff --git a/libraries/technology/ip_arria10/fifo/generate_ip.sh b/libraries/technology/ip_arria10/fifo/generate_ip.sh new file mode 100755 index 0000000000000000000000000000000000000000..7b86d6fd9cd1a61465e508f5ad3a24d98caff086 --- /dev/null +++ b/libraries/technology/ip_arria10/fifo/generate_ip.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# -------------------------------------------------------------------------- # +# +# Copyright (C) 2014 +# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +# JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/> +# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +# -------------------------------------------------------------------------- # +# +# Purpose: Generate IP with Qsys +# Description: +# Generate the IP in a separate generated/ subdirectory. +# +# Remark: +# +# Usage: +# +# ./generate_ip.sh +# +# The IP only needs to be generated if it need to be modified, because the ip_arria10_fifo_*.vhd directly instantiates +# the FIFO altera_mf component. +# The instantiation is copied manually from the generated/ip_arria10_ram_*/fifo_140/sim/ip_arria10_fifo_*.vhd. +# It appears that the altera_mf FIFO component for Arria10 can be synthesized similar as how it worked for Stratix IV, +# it is not necessary to use the generated qip file. +# + +# Tool settings for selected target "unb2" with arria10 +. ${RADIOHDL}/tools/quartus/set_quartus unb2 + +#qsys-generate --help + +# Only generate the source IP +qsys-generate ip_arria10_fifo_sc.qsys --synthesis=VHDL --simulation=VHDL --output-directory=generated +qsys-generate ip_arria10_fifo_dc.qsys --synthesis=VHDL --simulation=VHDL --output-directory=generated +qsys-generate ip_arria10_fifo_dc_mixed_widths.qsys --synthesis=VHDL --simulation=VHDL --output-directory=generated diff --git a/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_dc.vhd b/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_dc.vhd index b1afae234e983d30c3204d5a64a747905c9e9de7..eb026ef04f7b0b13e253be4c00d164a38b70ab44 100644 --- a/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_dc.vhd +++ b/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_dc.vhd @@ -1,224 +1,122 @@ --- megafunction wizard: %FIFO% --- GENERATION: STANDARD --- VERSION: WM1.0 --- MODULE: dcfifo - --- ============================================================ --- File Name: ip_arria10_fifo_dc.vhd --- Megafunction Name(s): --- dcfifo +------------------------------------------------------------------------------- -- --- Simulation Library Files(s): --- altera_mf --- ============================================================ --- ************************************************************ --- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- Copyright (C) 2014 +-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands -- --- 9.1 Build 350 03/24/2010 SP 2 SJ Full Version --- ************************************************************ - - ---Copyright (C) 1991-2010 Altera Corporation ---Your use of Altera Corporation's design tools, logic functions ---and other software and tools, and its AMPP partner logic ---functions, and any output files from any of the foregoing ---(including device programming or simulation files), and any ---associated documentation or information are expressly subject ---to the terms and conditions of the Altera Program License ---Subscription Agreement, Altera MegaCore Function License ---Agreement, or other applicable license agreement, including, ---without limitation, that your use is for the sole purpose of ---programming logic devices manufactured by Altera and sold by ---Altera or its authorized distributors. Please refer to the ---applicable agreement for further details. +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +------------------------------------------------------------------------------- +-- Purpose: Instantiate FIFO IP with generics +-- Description: +-- Copied component declaration and instance example from generated/fifo_140/sim/ip_arria10_fifo_dc_fifo_140_c4o7vda.vhd LIBRARY ieee; USE ieee.std_logic_1164.all; -LIBRARY common_lib; -USE common_lib.common_pkg.ALL; +LIBRARY technology_lib; +USE technology_lib.technology_pkg.ALL; LIBRARY altera_mf; USE altera_mf.all; ENTITY ip_arria10_fifo_dc IS GENERIC ( - g_dat_w : NATURAL; - g_nof_words : NATURAL + g_use_eab : STRING := "ON"; + g_dat_w : NATURAL := 20; + g_nof_words : NATURAL := 1024 + ); + PORT ( + aclr : IN STD_LOGIC := '0'; + data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + rdclk : IN STD_LOGIC ; + rdreq : IN STD_LOGIC ; + wrclk : IN STD_LOGIC ; + wrreq : IN STD_LOGIC ; + q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + rdempty : OUT STD_LOGIC ; + rdusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0); + wrfull : OUT STD_LOGIC ; + wrusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0) ); - PORT - ( - aclr : IN STD_LOGIC := '0'; - data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); - rdclk : IN STD_LOGIC ; - rdreq : IN STD_LOGIC ; - wrclk : IN STD_LOGIC ; - wrreq : IN STD_LOGIC ; - q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); - rdempty : OUT STD_LOGIC ; - rdusedw : OUT STD_LOGIC_VECTOR (ceil_log2(g_nof_words)-1 DOWNTO 0); - wrfull : OUT STD_LOGIC ; - wrusedw : OUT STD_LOGIC_VECTOR (ceil_log2(g_nof_words)-1 DOWNTO 0) - ); END ip_arria10_fifo_dc; ARCHITECTURE SYN OF ip_arria10_fifo_dc IS - SIGNAL sub_wire0 : STD_LOGIC ; - SIGNAL sub_wire1 : STD_LOGIC_VECTOR (ceil_log2(g_nof_words)-1 DOWNTO 0); - SIGNAL sub_wire2 : STD_LOGIC ; - SIGNAL sub_wire3 : STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); - SIGNAL sub_wire4 : STD_LOGIC_VECTOR (ceil_log2(g_nof_words)-1 DOWNTO 0); - - - - COMPONENT dcfifo - GENERIC ( - intended_device_family : STRING; - lpm_numwords : NATURAL; - lpm_showahead : STRING; - lpm_type : STRING; - lpm_width : NATURAL; - lpm_widthu : NATURAL; - overflow_checking : STRING; - rdsync_delaypipe : NATURAL; - underflow_checking : STRING; - use_eab : STRING; - write_aclr_synch : STRING; - wrsync_delaypipe : NATURAL - ); - PORT ( - wrclk : IN STD_LOGIC ; - rdempty : OUT STD_LOGIC ; - rdreq : IN STD_LOGIC ; - wrusedw : OUT STD_LOGIC_VECTOR (ceil_log2(g_nof_words)-1 DOWNTO 0); - aclr : IN STD_LOGIC ; - wrfull : OUT STD_LOGIC ; - rdclk : IN STD_LOGIC ; - q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); - wrreq : IN STD_LOGIC ; - data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); - rdusedw : OUT STD_LOGIC_VECTOR (ceil_log2(g_nof_words)-1 DOWNTO 0) - ); - END COMPONENT; + COMPONENT dcfifo + GENERIC ( + intended_device_family : STRING; + lpm_numwords : NATURAL; + lpm_showahead : STRING; + lpm_type : STRING; + lpm_width : NATURAL; + lpm_widthu : NATURAL; + overflow_checking : STRING; + rdsync_delaypipe : NATURAL; + read_aclr_synch : STRING; + underflow_checking : STRING; + use_eab : STRING; + write_aclr_synch : STRING; + wrsync_delaypipe : NATURAL + ); + PORT ( + aclr : IN STD_LOGIC; + data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + rdclk : IN STD_LOGIC; + rdreq : IN STD_LOGIC; + wrclk : IN STD_LOGIC; + wrreq : IN STD_LOGIC; + q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + rdempty : OUT STD_LOGIC; + rdusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0); + wrfull : OUT STD_LOGIC; + wrusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0) + ); + END COMPONENT; BEGIN - rdempty <= sub_wire0; - wrusedw <= sub_wire1(ceil_log2(g_nof_words)-1 DOWNTO 0); - wrfull <= sub_wire2; - q <= sub_wire3(g_dat_w-1 DOWNTO 0); - rdusedw <= sub_wire4(ceil_log2(g_nof_words)-1 DOWNTO 0); - - dcfifo_component : dcfifo - GENERIC MAP ( - intended_device_family => "Stratix IV", - lpm_numwords => g_nof_words, - lpm_showahead => "OFF", - lpm_type => "dcfifo", - lpm_width => g_dat_w, - lpm_widthu => ceil_log2(g_nof_words), - overflow_checking => "ON", - rdsync_delaypipe => 5, - underflow_checking => "ON", - use_eab => "ON", - write_aclr_synch => "ON", - wrsync_delaypipe => 5 - ) - PORT MAP ( - wrclk => wrclk, - rdreq => rdreq, - aclr => aclr, - rdclk => rdclk, - wrreq => wrreq, - data => data, - rdempty => sub_wire0, - wrusedw => sub_wire1, - wrfull => sub_wire2, - q => sub_wire3, - rdusedw => sub_wire4 - ); - + u_dcfifo : dcfifo + GENERIC MAP ( + intended_device_family => "Arria 10", + lpm_numwords => g_nof_words, + lpm_showahead => "OFF", + lpm_type => "dcfifo", + lpm_width => g_dat_w, + lpm_widthu => tech_ceil_log2(g_nof_words), + overflow_checking => "ON", + rdsync_delaypipe => 5, + read_aclr_synch => "OFF", + underflow_checking => "ON", + use_eab => g_use_eab, + write_aclr_synch => "ON", + wrsync_delaypipe => 5 + ) + PORT MAP ( + aclr => aclr, + data => data, + rdclk => rdclk, + rdreq => rdreq, + wrclk => wrclk, + wrreq => wrreq, + q => q, + rdempty => rdempty, + rdusedw => rdusedw, + wrfull => wrfull, + wrusedw => wrusedw + ); END SYN; - --- ============================================================ --- CNX file retrieval info --- ============================================================ --- Retrieval info: PRIVATE: AlmostEmpty NUMERIC "0" --- Retrieval info: PRIVATE: AlmostEmptyThr NUMERIC "-1" --- Retrieval info: PRIVATE: AlmostFull NUMERIC "0" --- Retrieval info: PRIVATE: AlmostFullThr NUMERIC "-1" --- Retrieval info: PRIVATE: CLOCKS_ARE_SYNCHRONIZED NUMERIC "0" --- Retrieval info: PRIVATE: Clock NUMERIC "4" --- Retrieval info: PRIVATE: Depth NUMERIC "256" --- Retrieval info: PRIVATE: Empty NUMERIC "1" --- Retrieval info: PRIVATE: Full NUMERIC "1" --- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Stratix IV" --- Retrieval info: PRIVATE: LE_BasedFIFO NUMERIC "0" --- Retrieval info: PRIVATE: LegacyRREQ NUMERIC "1" --- Retrieval info: PRIVATE: MAX_DEPTH_BY_9 NUMERIC "0" --- Retrieval info: PRIVATE: OVERFLOW_CHECKING NUMERIC "0" --- Retrieval info: PRIVATE: Optimize NUMERIC "1" --- Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0" --- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" --- Retrieval info: PRIVATE: UNDERFLOW_CHECKING NUMERIC "0" --- Retrieval info: PRIVATE: UsedW NUMERIC "1" --- Retrieval info: PRIVATE: Width NUMERIC "8" --- Retrieval info: PRIVATE: dc_aclr NUMERIC "1" --- Retrieval info: PRIVATE: diff_widths NUMERIC "0" --- Retrieval info: PRIVATE: msb_usedw NUMERIC "0" --- Retrieval info: PRIVATE: output_width NUMERIC "8" --- Retrieval info: PRIVATE: rsEmpty NUMERIC "1" --- Retrieval info: PRIVATE: rsFull NUMERIC "0" --- Retrieval info: PRIVATE: rsUsedW NUMERIC "1" --- Retrieval info: PRIVATE: sc_aclr NUMERIC "0" --- Retrieval info: PRIVATE: sc_sclr NUMERIC "0" --- Retrieval info: PRIVATE: wsEmpty NUMERIC "0" --- Retrieval info: PRIVATE: wsFull NUMERIC "1" --- Retrieval info: PRIVATE: wsUsedW NUMERIC "1" --- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Stratix IV" --- Retrieval info: CONSTANT: LPM_NUMWORDS NUMERIC "256" --- Retrieval info: CONSTANT: LPM_SHOWAHEAD STRING "OFF" --- Retrieval info: CONSTANT: LPM_TYPE STRING "dcfifo" --- Retrieval info: CONSTANT: LPM_WIDTH NUMERIC "8" --- Retrieval info: CONSTANT: LPM_WIDTHU NUMERIC "8" --- Retrieval info: CONSTANT: OVERFLOW_CHECKING STRING "ON" --- Retrieval info: CONSTANT: RDSYNC_DELAYPIPE NUMERIC "5" --- Retrieval info: CONSTANT: UNDERFLOW_CHECKING STRING "ON" --- Retrieval info: CONSTANT: USE_EAB STRING "ON" --- Retrieval info: CONSTANT: WRITE_ACLR_SYNCH STRING "ON" --- Retrieval info: CONSTANT: WRSYNC_DELAYPIPE NUMERIC "5" --- Retrieval info: USED_PORT: aclr 0 0 0 0 INPUT GND aclr --- Retrieval info: USED_PORT: data 0 0 8 0 INPUT NODEFVAL data[7..0] --- Retrieval info: USED_PORT: q 0 0 8 0 OUTPUT NODEFVAL q[7..0] --- Retrieval info: USED_PORT: rdclk 0 0 0 0 INPUT NODEFVAL rdclk --- Retrieval info: USED_PORT: rdempty 0 0 0 0 OUTPUT NODEFVAL rdempty --- Retrieval info: USED_PORT: rdreq 0 0 0 0 INPUT NODEFVAL rdreq --- Retrieval info: USED_PORT: rdusedw 0 0 8 0 OUTPUT NODEFVAL rdusedw[7..0] --- Retrieval info: USED_PORT: wrclk 0 0 0 0 INPUT NODEFVAL wrclk --- Retrieval info: USED_PORT: wrfull 0 0 0 0 OUTPUT NODEFVAL wrfull --- Retrieval info: USED_PORT: wrreq 0 0 0 0 INPUT NODEFVAL wrreq --- Retrieval info: USED_PORT: wrusedw 0 0 8 0 OUTPUT NODEFVAL wrusedw[7..0] --- Retrieval info: CONNECT: @data 0 0 8 0 data 0 0 8 0 --- Retrieval info: CONNECT: q 0 0 8 0 @q 0 0 8 0 --- Retrieval info: CONNECT: @wrreq 0 0 0 0 wrreq 0 0 0 0 --- Retrieval info: CONNECT: @rdreq 0 0 0 0 rdreq 0 0 0 0 --- Retrieval info: CONNECT: @rdclk 0 0 0 0 rdclk 0 0 0 0 --- Retrieval info: CONNECT: @wrclk 0 0 0 0 wrclk 0 0 0 0 --- Retrieval info: CONNECT: rdempty 0 0 0 0 @rdempty 0 0 0 0 --- Retrieval info: CONNECT: rdusedw 0 0 8 0 @rdusedw 0 0 8 0 --- Retrieval info: CONNECT: wrfull 0 0 0 0 @wrfull 0 0 0 0 --- Retrieval info: CONNECT: wrusedw 0 0 8 0 @wrusedw 0 0 8 0 --- Retrieval info: CONNECT: @aclr 0 0 0 0 aclr 0 0 0 0 --- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc.vhd TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc.inc FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc.cmp TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc.bsf FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_inst.vhd FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_waveforms.html TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_wave*.jpg FALSE --- Retrieval info: LIB_FILE: altera_mf diff --git a/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_dc_mixed_widths.vhd b/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_dc_mixed_widths.vhd index 738cc51dd3a869281e305b3747f6ba0aae6273ff..d0fe04a7df04568435bc638c3023019e4326af80 100644 --- a/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_dc_mixed_widths.vhd +++ b/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_dc_mixed_widths.vhd @@ -1,231 +1,126 @@ --- megafunction wizard: %FIFO% --- GENERATION: STANDARD --- VERSION: WM1.0 --- MODULE: dcfifo_mixed_widths - --- ============================================================ --- File Name: ip_arria10_fifo_dc_mixed_widths.vhd --- Megafunction Name(s): --- dcfifo_mixed_widths +------------------------------------------------------------------------------- -- --- Simulation Library Files(s): --- altera_mf --- ============================================================ --- ************************************************************ --- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- Copyright (C) 2014 +-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands -- --- 10.0 Build 218 06/27/2010 SJ Full Version --- ************************************************************ - - ---Copyright (C) 1991-2010 Altera Corporation ---Your use of Altera Corporation's design tools, logic functions ---and other software and tools, and its AMPP partner logic ---functions, and any output files from any of the foregoing ---(including device programming or simulation files), and any ---associated documentation or information are expressly subject ---to the terms and conditions of the Altera Program License ---Subscription Agreement, Altera MegaCore Function License ---Agreement, or other applicable license agreement, including, ---without limitation, that your use is for the sole purpose of ---programming logic devices manufactured by Altera and sold by ---Altera or its authorized distributors. Please refer to the ---applicable agreement for further details. +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +------------------------------------------------------------------------------- +-- Purpose: Instantiate FIFO IP with generics +-- Description: +-- Copied component declaration and instance example from generated/fifo_140/sim/ip_arria10_fifo_dc_mixed_widths_fifo_140_5csdcfa.vhd LIBRARY ieee; USE ieee.std_logic_1164.all; -LIBRARY common_lib; -USE common_lib.common_pkg.ALL; +LIBRARY technology_lib; +USE technology_lib.technology_pkg.ALL; LIBRARY altera_mf; USE altera_mf.all; ENTITY ip_arria10_fifo_dc_mixed_widths IS GENERIC ( - g_nof_words : NATURAL; -- FIFO size in nof wr_dat words - g_wrdat_w : NATURAL; - g_rddat_w : NATURAL + g_nof_words : NATURAL := 1024; -- FIFO size in nof wr_dat words + g_wrdat_w : NATURAL := 20; + g_rddat_w : NATURAL := 10 ); - PORT - ( - aclr : IN STD_LOGIC := '0'; - data : IN STD_LOGIC_VECTOR (g_wrdat_w-1 DOWNTO 0); - rdclk : IN STD_LOGIC ; - rdreq : IN STD_LOGIC ; - wrclk : IN STD_LOGIC ; - wrreq : IN STD_LOGIC ; - q : OUT STD_LOGIC_VECTOR (g_rddat_w-1 DOWNTO 0); - rdempty : OUT STD_LOGIC ; - rdusedw : OUT STD_LOGIC_VECTOR (ceil_log2(g_nof_words*g_wrdat_w/g_rddat_w)-1 DOWNTO 0); - wrfull : OUT STD_LOGIC ; - wrusedw : OUT STD_LOGIC_VECTOR (ceil_log2(g_nof_words)-1 DOWNTO 0) - ); -END ip_arria10_ip_arria10_fifo_dc_mixed_widths; - - -ARCHITECTURE SYN OF ip_arria10_ip_arria10_fifo_dc_mixed_widths IS - - SIGNAL sub_wire0 : STD_LOGIC ; - SIGNAL sub_wire1 : STD_LOGIC_VECTOR (q'RANGE); - SIGNAL sub_wire2 : STD_LOGIC ; - SIGNAL sub_wire3 : STD_LOGIC_VECTOR (wrusedw'RANGE); - SIGNAL sub_wire4 : STD_LOGIC_VECTOR (rdusedw'RANGE); - + PORT ( + aclr : IN STD_LOGIC := '0'; + data : IN STD_LOGIC_VECTOR (g_wrdat_w-1 DOWNTO 0); + rdclk : IN STD_LOGIC ; + rdreq : IN STD_LOGIC ; + wrclk : IN STD_LOGIC ; + wrreq : IN STD_LOGIC ; + q : OUT STD_LOGIC_VECTOR (g_rddat_w-1 DOWNTO 0); + rdempty : OUT STD_LOGIC ; + rdusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words*g_wrdat_w/g_rddat_w)-1 DOWNTO 0); + wrfull : OUT STD_LOGIC ; + wrusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0) + ); +END ip_arria10_fifo_dc_mixed_widths; - COMPONENT dcfifo_mixed_widths - GENERIC ( - intended_device_family : STRING; - lpm_numwords : NATURAL; - lpm_showahead : STRING; - lpm_type : STRING; - lpm_width : NATURAL; - lpm_widthu : NATURAL; - lpm_widthu_r : NATURAL; - lpm_width_r : NATURAL; - overflow_checking : STRING; - rdsync_delaypipe : NATURAL; - underflow_checking : STRING; - use_eab : STRING; - write_aclr_synch : STRING; - wrsync_delaypipe : NATURAL - ); - PORT ( - rdclk : IN STD_LOGIC ; - wrfull : OUT STD_LOGIC ; - q : OUT STD_LOGIC_VECTOR (q'RANGE); - rdempty : OUT STD_LOGIC ; - wrclk : IN STD_LOGIC ; - wrreq : IN STD_LOGIC ; - wrusedw : OUT STD_LOGIC_VECTOR (wrusedw'RANGE); - aclr : IN STD_LOGIC ; - data : IN STD_LOGIC_VECTOR (data'RANGE); - rdreq : IN STD_LOGIC ; - rdusedw : OUT STD_LOGIC_VECTOR (rdusedw'RANGE) - ); - END COMPONENT; +ARCHITECTURE SYN OF ip_arria10_fifo_dc_mixed_widths IS + COMPONENT dcfifo_mixed_widths + GENERIC ( + intended_device_family : STRING; + lpm_numwords : NATURAL; + lpm_showahead : STRING; + lpm_type : STRING; + lpm_width : NATURAL; + lpm_widthu : NATURAL; + lpm_widthu_r : NATURAL; + lpm_width_r : NATURAL; + overflow_checking : STRING; + rdsync_delaypipe : NATURAL; + read_aclr_synch : STRING; + underflow_checking : STRING; + use_eab : STRING; + write_aclr_synch : STRING; + wrsync_delaypipe : NATURAL + ); + PORT ( + aclr : IN STD_LOGIC; + data : IN STD_LOGIC_VECTOR (data'RANGE); + rdclk : IN STD_LOGIC; + rdreq : IN STD_LOGIC; + wrclk : IN STD_LOGIC; + wrreq : IN STD_LOGIC; + q : OUT STD_LOGIC_VECTOR (q'RANGE); + rdempty : OUT STD_LOGIC; + rdusedw : OUT STD_LOGIC_VECTOR (rdusedw'RANGE); + wrfull : OUT STD_LOGIC; + wrusedw : OUT STD_LOGIC_VECTOR (wrusedw'RANGE) + ); + END COMPONENT; + BEGIN - wrfull <= sub_wire0; - q <= sub_wire1(q'RANGE); - rdempty <= sub_wire2; - wrusedw <= sub_wire3(wrusedw'RANGE); - rdusedw <= sub_wire4(rdusedw'RANGE); - - dcfifo_mixed_widths_component : dcfifo_mixed_widths - GENERIC MAP ( - intended_device_family => "Stratix IV", - lpm_numwords => g_nof_words, - lpm_showahead => "OFF", - lpm_type => "dcfifo", - lpm_width => g_wrdat_w, - lpm_widthu => ceil_log2(g_nof_words), - lpm_widthu_r => ceil_log2(g_nof_words*g_wrdat_w/g_rddat_w), - lpm_width_r => g_rddat_w, - overflow_checking => "ON", - rdsync_delaypipe => 5, - underflow_checking => "ON", - use_eab => "ON", - write_aclr_synch => "ON", - wrsync_delaypipe => 5 - ) - PORT MAP ( - rdclk => rdclk, - wrclk => wrclk, - wrreq => wrreq, - aclr => aclr, - data => data, - rdreq => rdreq, - wrfull => sub_wire0, - q => sub_wire1, - rdempty => sub_wire2, - wrusedw => sub_wire3, - rdusedw => sub_wire4 - ); - + dcfifo_mixed_widths_component : dcfifo_mixed_widths + GENERIC MAP ( + intended_device_family => "Arria 10", + lpm_numwords => g_nof_words, + lpm_showahead => "OFF", + lpm_type => "dcfifo_mixed_widths", + lpm_width => g_wrdat_w, + lpm_widthu => tech_ceil_log2(g_nof_words), + lpm_widthu_r => tech_ceil_log2(g_nof_words*g_wrdat_w/g_rddat_w), + lpm_width_r => g_rddat_w, + overflow_checking => "ON", + rdsync_delaypipe => 5, + read_aclr_synch => "OFF", + underflow_checking => "ON", + use_eab => "ON", + write_aclr_synch => "ON", + wrsync_delaypipe => 5 + ) + PORT MAP ( + aclr => aclr, + data => data, + rdclk => rdclk, + rdreq => rdreq, + wrclk => wrclk, + wrreq => wrreq, + q => q, + rdempty => rdempty, + rdusedw => rdusedw, + wrfull => wrfull, + wrusedw => wrusedw + ); END SYN; - --- ============================================================ --- CNX file retrieval info --- ============================================================ --- Retrieval info: PRIVATE: AlmostEmpty NUMERIC "0" --- Retrieval info: PRIVATE: AlmostEmptyThr NUMERIC "-1" --- Retrieval info: PRIVATE: AlmostFull NUMERIC "0" --- Retrieval info: PRIVATE: AlmostFullThr NUMERIC "-1" --- Retrieval info: PRIVATE: CLOCKS_ARE_SYNCHRONIZED NUMERIC "0" --- Retrieval info: PRIVATE: Clock NUMERIC "4" --- Retrieval info: PRIVATE: Depth NUMERIC "256" --- Retrieval info: PRIVATE: Empty NUMERIC "1" --- Retrieval info: PRIVATE: Full NUMERIC "1" --- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Stratix IV" --- Retrieval info: PRIVATE: LE_BasedFIFO NUMERIC "0" --- Retrieval info: PRIVATE: LegacyRREQ NUMERIC "1" --- Retrieval info: PRIVATE: MAX_DEPTH_BY_9 NUMERIC "0" --- Retrieval info: PRIVATE: OVERFLOW_CHECKING NUMERIC "0" --- Retrieval info: PRIVATE: Optimize NUMERIC "1" --- Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0" --- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" --- Retrieval info: PRIVATE: UNDERFLOW_CHECKING NUMERIC "0" --- Retrieval info: PRIVATE: UsedW NUMERIC "1" --- Retrieval info: PRIVATE: Width NUMERIC "8" --- Retrieval info: PRIVATE: dc_aclr NUMERIC "1" --- Retrieval info: PRIVATE: diff_widths NUMERIC "1" --- Retrieval info: PRIVATE: msb_usedw NUMERIC "0" --- Retrieval info: PRIVATE: output_width NUMERIC "16" --- Retrieval info: PRIVATE: rsEmpty NUMERIC "1" --- Retrieval info: PRIVATE: rsFull NUMERIC "0" --- Retrieval info: PRIVATE: rsUsedW NUMERIC "1" --- Retrieval info: PRIVATE: sc_aclr NUMERIC "0" --- Retrieval info: PRIVATE: sc_sclr NUMERIC "0" --- Retrieval info: PRIVATE: wsEmpty NUMERIC "0" --- Retrieval info: PRIVATE: wsFull NUMERIC "1" --- Retrieval info: PRIVATE: wsUsedW NUMERIC "1" --- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all --- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Stratix IV" --- Retrieval info: CONSTANT: LPM_NUMWORDS NUMERIC "256" --- Retrieval info: CONSTANT: LPM_SHOWAHEAD STRING "OFF" --- Retrieval info: CONSTANT: LPM_TYPE STRING "dcfifo" --- Retrieval info: CONSTANT: LPM_WIDTH NUMERIC "8" --- Retrieval info: CONSTANT: LPM_WIDTHU NUMERIC "8" --- Retrieval info: CONSTANT: LPM_WIDTHU_R NUMERIC "7" --- Retrieval info: CONSTANT: LPM_WIDTH_R NUMERIC "16" --- Retrieval info: CONSTANT: OVERFLOW_CHECKING STRING "ON" --- Retrieval info: CONSTANT: RDSYNC_DELAYPIPE NUMERIC "5" --- Retrieval info: CONSTANT: UNDERFLOW_CHECKING STRING "ON" --- Retrieval info: CONSTANT: USE_EAB STRING "ON" --- Retrieval info: CONSTANT: WRITE_ACLR_SYNCH STRING "ON" --- Retrieval info: CONSTANT: WRSYNC_DELAYPIPE NUMERIC "5" --- Retrieval info: USED_PORT: aclr 0 0 0 0 INPUT GND "aclr" --- Retrieval info: USED_PORT: data 0 0 8 0 INPUT NODEFVAL "data[7..0]" --- Retrieval info: USED_PORT: q 0 0 16 0 OUTPUT NODEFVAL "q[15..0]" --- Retrieval info: USED_PORT: rdclk 0 0 0 0 INPUT NODEFVAL "rdclk" --- Retrieval info: USED_PORT: rdempty 0 0 0 0 OUTPUT NODEFVAL "rdempty" --- Retrieval info: USED_PORT: rdreq 0 0 0 0 INPUT NODEFVAL "rdreq" --- Retrieval info: USED_PORT: rdusedw 0 0 7 0 OUTPUT NODEFVAL "rdusedw[6..0]" --- Retrieval info: USED_PORT: wrclk 0 0 0 0 INPUT NODEFVAL "wrclk" --- Retrieval info: USED_PORT: wrfull 0 0 0 0 OUTPUT NODEFVAL "wrfull" --- Retrieval info: USED_PORT: wrreq 0 0 0 0 INPUT NODEFVAL "wrreq" --- Retrieval info: USED_PORT: wrusedw 0 0 8 0 OUTPUT NODEFVAL "wrusedw[7..0]" --- Retrieval info: CONNECT: @aclr 0 0 0 0 aclr 0 0 0 0 --- Retrieval info: CONNECT: @data 0 0 8 0 data 0 0 8 0 --- Retrieval info: CONNECT: @rdclk 0 0 0 0 rdclk 0 0 0 0 --- Retrieval info: CONNECT: @rdreq 0 0 0 0 rdreq 0 0 0 0 --- Retrieval info: CONNECT: @wrclk 0 0 0 0 wrclk 0 0 0 0 --- Retrieval info: CONNECT: @wrreq 0 0 0 0 wrreq 0 0 0 0 --- Retrieval info: CONNECT: q 0 0 16 0 @q 0 0 16 0 --- Retrieval info: CONNECT: rdempty 0 0 0 0 @rdempty 0 0 0 0 --- Retrieval info: CONNECT: rdusedw 0 0 7 0 @rdusedw 0 0 7 0 --- Retrieval info: CONNECT: wrfull 0 0 0 0 @wrfull 0 0 0 0 --- Retrieval info: CONNECT: wrusedw 0 0 8 0 @wrusedw 0 0 8 0 --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_mixed_widths.vhd TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_mixed_widths.inc FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_mixed_widths.cmp FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_mixed_widths.bsf FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_mixed_widths_inst.vhd FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_mixed_widths_waveforms.html FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_dc_mixed_widths_wave*.jpg FALSE --- Retrieval info: LIB_FILE: altera_mf diff --git a/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_sc.vhd b/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_sc.vhd index 24ab13fa7f631e8e0245445ac5fc8c2c9bf8d28e..3e0fa117d153290575779017e5a465ec8a4be1a2 100644 --- a/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_sc.vhd +++ b/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_sc.vhd @@ -1,43 +1,33 @@ --- megafunction wizard: %FIFO% --- GENERATION: STANDARD --- VERSION: WM1.0 --- MODULE: scfifo - --- ============================================================ --- File Name: ip_arria10_fifo_sc.vhd --- Megafunction Name(s): --- scfifo +------------------------------------------------------------------------------- -- --- Simulation Library Files(s): --- --- ============================================================ --- ************************************************************ --- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- Copyright (C) 2014 +-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands -- --- 10.1 Build 197 01/19/2011 SP 1 SJ Full Version --- ************************************************************ - - ---Copyright (C) 1991-2011 Altera Corporation ---Your use of Altera Corporation's design tools, logic functions ---and other software and tools, and its AMPP partner logic ---functions, and any output files from any of the foregoing ---(including device programming or simulation files), and any ---associated documentation or information are expressly subject ---to the terms and conditions of the Altera Program License ---Subscription Agreement, Altera MegaCore Function License ---Agreement, or other applicable license agreement, including, ---without limitation, that your use is for the sole purpose of ---programming logic devices manufactured by Altera and sold by ---Altera or its authorized distributors. Please refer to the ---applicable agreement for further details. +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +------------------------------------------------------------------------------- +-- Purpose: Instantiate FIFO IP with generics +-- Description: +-- Copied component declaration and instance example from generated/fifo_140/sim/ip_arria10_fifo_sc_fifo_140_pkqwcbi.vhd LIBRARY ieee; USE ieee.std_logic_1164.all; -LIBRARY common_lib; -USE common_lib.common_pkg.ALL; +LIBRARY technology_lib; +USE technology_lib.technology_pkg.ALL; LIBRARY altera_mf; USE altera_mf.all; @@ -45,162 +35,76 @@ USE altera_mf.all; ENTITY ip_arria10_fifo_sc IS GENERIC ( g_use_eab : STRING := "ON"; - g_dat_w : NATURAL; - g_nof_words : NATURAL + g_dat_w : NATURAL := 20; + g_nof_words : NATURAL := 1024 + ); + PORT ( + aclr : IN STD_LOGIC ; + clock : IN STD_LOGIC ; + data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + rdreq : IN STD_LOGIC ; + wrreq : IN STD_LOGIC ; + empty : OUT STD_LOGIC ; + full : OUT STD_LOGIC ; + q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0) ; + usedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0) ); - PORT - ( - aclr : IN STD_LOGIC ; - clock : IN STD_LOGIC ; - data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); - rdreq : IN STD_LOGIC ; - wrreq : IN STD_LOGIC ; - empty : OUT STD_LOGIC ; - full : OUT STD_LOGIC ; - q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0) ; - usedw : OUT STD_LOGIC_VECTOR (ceil_log2(g_nof_words)-1 DOWNTO 0) - ); END ip_arria10_fifo_sc; ARCHITECTURE SYN OF ip_arria10_fifo_sc IS - SIGNAL sub_wire0 : STD_LOGIC_VECTOR (usedw'RANGE); - SIGNAL sub_wire1 : STD_LOGIC ; - SIGNAL sub_wire2 : STD_LOGIC ; - SIGNAL sub_wire3 : STD_LOGIC_VECTOR (data'RANGE); - - - - COMPONENT scfifo - GENERIC ( - add_ram_output_register : STRING; - intended_device_family : STRING; - lpm_numwords : NATURAL; - lpm_showahead : STRING; - lpm_type : STRING; - lpm_width : NATURAL; - lpm_widthu : NATURAL; - overflow_checking : STRING; - underflow_checking : STRING; - use_eab : STRING - ); - PORT ( - clock : IN STD_LOGIC ; - usedw : OUT STD_LOGIC_VECTOR (ceil_log2(g_nof_words)-1 DOWNTO 0); - empty : OUT STD_LOGIC ; - full : OUT STD_LOGIC ; - q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); - wrreq : IN STD_LOGIC ; - aclr : IN STD_LOGIC ; - data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); - rdreq : IN STD_LOGIC - ); - END COMPONENT; + COMPONENT scfifo + GENERIC ( + add_ram_output_register : STRING; + intended_device_family : STRING; + lpm_numwords : NATURAL; + lpm_showahead : STRING; + lpm_type : STRING; + lpm_width : NATURAL; + lpm_widthu : NATURAL; + overflow_checking : STRING; + underflow_checking : STRING; + use_eab : STRING + ); + PORT ( + aclr : IN STD_LOGIC; + clock : IN STD_LOGIC; + data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + rdreq : IN STD_LOGIC; + wrreq : IN STD_LOGIC; + empty : OUT STD_LOGIC; + full : OUT STD_LOGIC; + q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + usedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0) + ); + END COMPONENT; BEGIN - usedw <= sub_wire0; - empty <= sub_wire1; - full <= sub_wire2; - q <= sub_wire3; - - scfifo_component : scfifo - GENERIC MAP ( - add_ram_output_register => "ON", - intended_device_family => "Stratix IV", - lpm_numwords => g_nof_words, - lpm_showahead => "OFF", - lpm_type => "scfifo", - lpm_width => g_dat_w, - lpm_widthu => ceil_log2(g_nof_words), - overflow_checking => "ON", - underflow_checking => "ON", - use_eab => g_use_eab - ) - PORT MAP ( - clock => clock, - wrreq => wrreq, - aclr => aclr, - data => data, - rdreq => rdreq, - usedw => sub_wire0, - empty => sub_wire1, - full => sub_wire2, - q => sub_wire3 - ); - + u_scfifo : scfifo + GENERIC MAP ( + add_ram_output_register => "ON", + intended_device_family => "Arria 10", + lpm_numwords => g_nof_words, + lpm_showahead => "OFF", + lpm_type => "scfifo", + lpm_width => g_dat_w, + lpm_widthu => tech_ceil_log2(g_nof_words), + overflow_checking => "ON", + underflow_checking => "ON", + use_eab => g_use_eab + ) + PORT MAP ( + aclr => aclr, + clock => clock, + data => data, + rdreq => rdreq, + wrreq => wrreq, + empty => empty, + full => full, + q => q, + usedw => usedw + ); END SYN; - --- ============================================================ --- CNX file retrieval info --- ============================================================ --- Retrieval info: PRIVATE: AlmostEmpty NUMERIC "0" --- Retrieval info: PRIVATE: AlmostEmptyThr NUMERIC "-1" --- Retrieval info: PRIVATE: AlmostFull NUMERIC "0" --- Retrieval info: PRIVATE: AlmostFullThr NUMERIC "-1" --- Retrieval info: PRIVATE: CLOCKS_ARE_SYNCHRONIZED NUMERIC "1" --- Retrieval info: PRIVATE: Clock NUMERIC "0" --- Retrieval info: PRIVATE: Depth NUMERIC "256" --- Retrieval info: PRIVATE: Empty NUMERIC "1" --- Retrieval info: PRIVATE: Full NUMERIC "1" --- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Stratix IV" --- Retrieval info: PRIVATE: LE_BasedFIFO NUMERIC "0" --- Retrieval info: PRIVATE: LegacyRREQ NUMERIC "1" --- Retrieval info: PRIVATE: MAX_DEPTH_BY_9 NUMERIC "0" --- Retrieval info: PRIVATE: OVERFLOW_CHECKING NUMERIC "0" --- Retrieval info: PRIVATE: Optimize NUMERIC "1" --- Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0" --- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" --- Retrieval info: PRIVATE: UNDERFLOW_CHECKING NUMERIC "0" --- Retrieval info: PRIVATE: UsedW NUMERIC "1" --- Retrieval info: PRIVATE: Width NUMERIC "8" --- Retrieval info: PRIVATE: dc_aclr NUMERIC "0" --- Retrieval info: PRIVATE: diff_widths NUMERIC "0" --- Retrieval info: PRIVATE: msb_usedw NUMERIC "0" --- Retrieval info: PRIVATE: output_width NUMERIC "8" --- Retrieval info: PRIVATE: rsEmpty NUMERIC "1" --- Retrieval info: PRIVATE: rsFull NUMERIC "0" --- Retrieval info: PRIVATE: rsUsedW NUMERIC "0" --- Retrieval info: PRIVATE: sc_aclr NUMERIC "1" --- Retrieval info: PRIVATE: sc_sclr NUMERIC "0" --- Retrieval info: PRIVATE: wsEmpty NUMERIC "0" --- Retrieval info: PRIVATE: wsFull NUMERIC "1" --- Retrieval info: PRIVATE: wsUsedW NUMERIC "0" --- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all --- Retrieval info: CONSTANT: ADD_RAM_OUTPUT_REGISTER STRING "ON" --- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Stratix IV" --- Retrieval info: CONSTANT: LPM_NUMWORDS NUMERIC "256" --- Retrieval info: CONSTANT: LPM_SHOWAHEAD STRING "OFF" --- Retrieval info: CONSTANT: LPM_TYPE STRING "scfifo" --- Retrieval info: CONSTANT: LPM_WIDTH NUMERIC "8" --- Retrieval info: CONSTANT: LPM_WIDTHU NUMERIC "8" --- Retrieval info: CONSTANT: OVERFLOW_CHECKING STRING "ON" --- Retrieval info: CONSTANT: UNDERFLOW_CHECKING STRING "ON" --- Retrieval info: CONSTANT: USE_EAB STRING "ON" --- Retrieval info: USED_PORT: aclr 0 0 0 0 INPUT NODEFVAL "aclr" --- Retrieval info: USED_PORT: clock 0 0 0 0 INPUT NODEFVAL "clock" --- Retrieval info: USED_PORT: data 0 0 8 0 INPUT NODEFVAL "data[7..0]" --- Retrieval info: USED_PORT: empty 0 0 0 0 OUTPUT NODEFVAL "empty" --- Retrieval info: USED_PORT: full 0 0 0 0 OUTPUT NODEFVAL "full" --- Retrieval info: USED_PORT: q 0 0 8 0 OUTPUT NODEFVAL "q[7..0]" --- Retrieval info: USED_PORT: rdreq 0 0 0 0 INPUT NODEFVAL "rdreq" --- Retrieval info: USED_PORT: usedw 0 0 8 0 OUTPUT NODEFVAL "usedw[7..0]" --- Retrieval info: USED_PORT: wrreq 0 0 0 0 INPUT NODEFVAL "wrreq" --- Retrieval info: CONNECT: @aclr 0 0 0 0 aclr 0 0 0 0 --- Retrieval info: CONNECT: @clock 0 0 0 0 clock 0 0 0 0 --- Retrieval info: CONNECT: @data 0 0 8 0 data 0 0 8 0 --- Retrieval info: CONNECT: @rdreq 0 0 0 0 rdreq 0 0 0 0 --- Retrieval info: CONNECT: @wrreq 0 0 0 0 wrreq 0 0 0 0 --- Retrieval info: CONNECT: empty 0 0 0 0 @empty 0 0 0 0 --- Retrieval info: CONNECT: full 0 0 0 0 @full 0 0 0 0 --- Retrieval info: CONNECT: q 0 0 8 0 @q 0 0 8 0 --- Retrieval info: CONNECT: usedw 0 0 8 0 @usedw 0 0 8 0 --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_sc.vhd TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_sc.inc FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_sc.cmp TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_sc.bsf FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_sc_inst.vhd FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_sc_waveforms.html TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL ip_arria10_fifo_sc_wave*.jpg FALSE diff --git a/libraries/technology/ip_arria10/fifo/quartus/fifo.qpf b/libraries/technology/ip_arria10/fifo/quartus/fifo.qpf new file mode 100644 index 0000000000000000000000000000000000000000..5d771ab1b47c6dd5ebad50fc38872d3264e8b336 --- /dev/null +++ b/libraries/technology/ip_arria10/fifo/quartus/fifo.qpf @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2014 Altera Corporation. All rights reserved. +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, the Altera Quartus II License Agreement, +# the Altera MegaCore Function License Agreement, or other +# applicable license agreement, including, without limitation, +# that your use is for the sole purpose of programming logic +# devices manufactured by Altera and sold by Altera or its +# authorized distributors. Please refer to the applicable +# agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 14.0a10.1 Build 374 09/02/2014 SJ Full Version +# Date created = 16:40:16 October 27, 2014 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "14.0" +DATE = "16:40:16 October 27, 2014" + +# Revisions + +PROJECT_REVISION = "fifo" diff --git a/libraries/technology/ip_arria10/fifo/quartus/fifo.qsf b/libraries/technology/ip_arria10/fifo/quartus/fifo.qsf new file mode 100644 index 0000000000000000000000000000000000000000..bfd88322ddd787ec2429bc4029532a49f400b16f --- /dev/null +++ b/libraries/technology/ip_arria10/fifo/quartus/fifo.qsf @@ -0,0 +1,57 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2014 Altera Corporation. All rights reserved. +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, the Altera Quartus II License Agreement, +# the Altera MegaCore Function License Agreement, or other +# applicable license agreement, including, without limitation, +# that your use is for the sole purpose of programming logic +# devices manufactured by Altera and sold by Altera or its +# authorized distributors. Please refer to the applicable +# agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 14.0a10.1 Build 374 09/02/2014 SJ Full Version +# Date created = 16:40:16 October 27, 2014 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# fifo_assignment_defaults.qdf +# If this file doesn't exist, see file: +# assignment_defaults.qdf +# +# 2) Altera recommends that you do not modify this file. This +# file is updated automatically by the Quartus II software +# and any changes you make may be lost or overwritten. +# +# -------------------------------------------------------------------------- # + + +set_global_assignment -name FAMILY "Arria 10" +set_global_assignment -name DEVICE 10AX115R2F40I2LG +set_global_assignment -name TOP_LEVEL_ENTITY ip_arria10_fifo_sc +set_global_assignment -name ORIGINAL_QUARTUS_VERSION 14.0 +set_global_assignment -name PROJECT_CREATION_TIME_DATE "16:40:16 OCTOBER 27, 2014" +set_global_assignment -name LAST_QUARTUS_VERSION 14.0 +set_global_assignment -name VHDL_FILE ../../../technology_pkg.vhd +set_global_assignment -name VHDL_FILE ../ip_arria10_fifo_sc.vhd +set_global_assignment -name VHDL_FILE ../ip_arria10_fifo_dc_mixed_widths.vhd +set_global_assignment -name VHDL_FILE ../ip_arria10_fifo_dc.vhd +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 256 +set_global_assignment -name MIN_CORE_JUNCTION_TEMP "-40" +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100 +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file