[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r5112 - in gnuradio/branches/developers/thottelt: inba
From: |
thottelt |
Subject: |
[Commit-gnuradio] r5112 - in gnuradio/branches/developers/thottelt: inband/usrp/fpga/inband_lib inband/usrp/fpga/megacells simulations |
Date: |
Wed, 25 Apr 2007 15:17:46 -0600 (MDT) |
Author: thottelt
Date: 2007-04-25 15:17:46 -0600 (Wed, 25 Apr 2007)
New Revision: 5112
Added:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/usb_packet_fifo2.v
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.bsf
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.cmp
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.inc
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.v
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512_bb.v
gnuradio/branches/developers/thottelt/simulations/usb_packet_fifo2_test.v
Modified:
gnuradio/branches/developers/thottelt/simulations/tx.mpf
Log:
new fifo
Added:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/usb_packet_fifo2.v
===================================================================
---
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/usb_packet_fifo2.v
(rev 0)
+++
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/usb_packet_fifo2.v
2007-04-25 21:17:46 UTC (rev 5112)
@@ -0,0 +1,99 @@
+`default_nettype none
+
+module usb_packet_fifo2(reset, usb_clock, fpga_clock, write_enable,
write_data,
+ read_enable, skip_packet, read_data, have_space, pkt_waiting) ;
+
+ /* Module parameters */
+ parameter LOG2_N = 2 ;
+ parameter WIDTH = 16 ;
+
+ input wire reset;
+ input wire usb_clock ;
+ input wire fpga_clock ;
+ input wire write_enable ;
+ input wire [WIDTH-1:0] write_data ;
+ input wire read_enable ;
+ input wire skip_packet ;
+ output wire [WIDTH-1:0] read_data ;
+ output wire have_space ;
+ output wire pkt_waiting ;
+
+
+ /* Variable for generate statement */
+ genvar i ;
+
+ /* Local wires for FIFO connections */
+ reg fifo_resets[2**LOG2_N-1:0] ;
+ reg fifo_we[2**LOG2_N-1:0] ;
+ wire fifo_re[2**LOG2_N-1:0] ;
+ wire fifo_wdata[2**LOG2_N-1:0] ;
+ wire fifo_rdata[2**LOG2_N-1:0] ;
+ wire fifo_rempty[2**LOG2_N-1:0] ;
+ wire fifo_rfull[2**LOG2_N-1:0] ;
+ wire fifo_wempty[2**LOG2_N-1:0] ;
+ wire fifo_wfull[2**LOG2_N-1:0] ;
+
+ /* FIFO Select for read and write ports */
+ reg [LOG2_N-1:0] fifo_rselect ;
+ reg [LOG2_N-1:0] fifo_wselect ;
+
+ /* Assign have_space to empty flag of currently selected write FIFO */
+ assign have_space = fifo_wempty[fifo_wselect] ;
+
+ /* Assign pkt_waiting to full flag of currently selected read FIFO */
+ assign pkt_waiting = fifo_rfull[fifo_rselect] ;
+
+ /* Assign the read_data to the output of the currently selected FIFO */
+ assign read_data = fifo_rdata[fifo_rselect] ;
+
+ /* Increment fifo_rselect here */
+ always @(posedge fpga_clock)
+ begin
+ if (fifo_rempty[fifo_rselect])
+ fifo_rselect <= fifo_rselect + 1 ;
+ end
+
+ /* Increment fifo_wselect here */
+ always @(posedge usb_clock)
+ begin
+ if (fifo_wfull[fifo_wselect])
+ fifo_wselect <= fifo_wselect + 1 ;
+ end
+
+ /* Route skip_packet to the correct fifo_resets signal based on the
fifo_rselect */
+ always @(posedge fpga_clock)
+ begin
+ if (skip_packet)
+ begin
+ fifo_resets[fifo_rselect] <= 1 ;
+ fifo_rselect <= fifo_rselect + 1 ;
+ end
+ else
+ fifo_resets[fifo_rselect] <= 0;
+ end
+
+ /* Route write_enable to the correct fifo_we signal based on the
fifo_wselect */
+ always @(posedge usb_clock)
+ begin
+ fifo_we[fifo_wselect] <= write_enable;
+ end
+
+ /* Generate all the single packet FIFOs */
+ generate
+ for( i = 0 ; i < 2**LOG2_N ; i = i + 1 )
+ begin : generate_single_packet_fifos
+ assign fifo_wdata[i] = write_data ;
+ fifo_512 single_packet_fifo(.wrclk ( usb_clock ),
+ .rdlck ( fpga_clock ),
+ .aclr ( fifo_resets[i] ),
+ .wrreq ( fifo_we[i] ),
+ .data ( fifo_wdata[i] ),
+ .rdreq ( fifo_re[i] ),
+ .q ( fifo_rdata[i] ),
+ .rdfull ( fifo_rfull[i] ),
+ .rdempty( fifo_rempty[i] ),
+ .wrfull ( fifo_wfull[i] ),
+ .wrempty( fifo_wempty[i] ) ) ;
+ end
+ endgenerate
+endmodule
\ No newline at end of file
Property changes on:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/usb_packet_fifo2.v
___________________________________________________________________
Name: svn:executable
+ *
Added:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.bsf
===================================================================
---
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.bsf
(rev 0)
+++
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.bsf
2007-04-25 21:17:46 UTC (rev 5112)
@@ -0,0 +1,116 @@
+/*
+WARNING: Do NOT edit the input and output ports in this file in a text
+editor if you plan to continue editing the block that represents it in
+the Block Editor! File corruption is VERY likely to occur.
+*/
+/*
+Copyright (C) 1991-2006 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 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.
+*/
+(header "symbol" (version "1.1"))
+(symbol
+ (rect 0 0 160 184)
+ (text "fifo_512" (rect 58 1 109 17)(font "Arial" (font_size 10)))
+ (text "inst" (rect 8 168 25 180)(font "Arial" ))
+ (port
+ (pt 0 32)
+ (input)
+ (text "data[15..0]" (rect 0 0 60 14)(font "Arial" (font_size
8)))
+ (text "data[15..0]" (rect 20 26 71 39)(font "Arial" (font_size
8)))
+ (line (pt 0 32)(pt 16 32)(line_width 3))
+ )
+ (port
+ (pt 0 56)
+ (input)
+ (text "wrreq" (rect 0 0 35 14)(font "Arial" (font_size 8)))
+ (text "wrreq" (rect 20 50 45 63)(font "Arial" (font_size 8)))
+ (line (pt 0 56)(pt 16 56)(line_width 1))
+ )
+ (port
+ (pt 0 72)
+ (input)
+ (text "wrclk" (rect 0 0 31 14)(font "Arial" (font_size 8)))
+ (text "wrclk" (rect 26 66 48 79)(font "Arial" (font_size 8)))
+ (line (pt 0 72)(pt 16 72)(line_width 1))
+ )
+ (port
+ (pt 0 104)
+ (input)
+ (text "rdreq" (rect 0 0 30 14)(font "Arial" (font_size 8)))
+ (text "rdreq" (rect 20 98 44 111)(font "Arial" (font_size 8)))
+ (line (pt 0 104)(pt 16 104)(line_width 1))
+ )
+ (port
+ (pt 0 120)
+ (input)
+ (text "rdclk" (rect 0 0 27 14)(font "Arial" (font_size 8)))
+ (text "rdclk" (rect 26 114 47 127)(font "Arial" (font_size 8)))
+ (line (pt 0 120)(pt 16 120)(line_width 1))
+ )
+ (port
+ (pt 0 160)
+ (input)
+ (text "aclr" (rect 0 0 21 14)(font "Arial" (font_size 8)))
+ (text "aclr" (rect 20 154 37 167)(font "Arial" (font_size 8)))
+ (line (pt 0 160)(pt 16 160)(line_width 1))
+ )
+ (port
+ (pt 160 40)
+ (output)
+ (text "wrfull" (rect 0 0 33 14)(font "Arial" (font_size 8)))
+ (text "wrfull" (rect 113 34 138 47)(font "Arial" (font_size 8)))
+ (line (pt 160 40)(pt 144 40)(line_width 1))
+ )
+ (port
+ (pt 160 56)
+ (output)
+ (text "wrempty" (rect 0 0 50 14)(font "Arial" (font_size 8)))
+ (text "wrempty" (rect 98 50 137 63)(font "Arial" (font_size 8)))
+ (line (pt 160 56)(pt 144 56)(line_width 1))
+ )
+ (port
+ (pt 160 96)
+ (output)
+ (text "q[15..0]" (rect 0 0 42 14)(font "Arial" (font_size 8)))
+ (text "q[15..0]" (rect 105 90 141 103)(font "Arial" (font_size
8)))
+ (line (pt 160 96)(pt 144 96)(line_width 3))
+ )
+ (port
+ (pt 160 120)
+ (output)
+ (text "rdfull" (rect 0 0 28 14)(font "Arial" (font_size 8)))
+ (text "rdfull" (rect 117 114 141 127)(font "Arial" (font_size
8)))
+ (line (pt 160 120)(pt 144 120)(line_width 1))
+ )
+ (port
+ (pt 160 136)
+ (output)
+ (text "rdempty" (rect 0 0 46 14)(font "Arial" (font_size 8)))
+ (text "rdempty" (rect 102 130 140 143)(font "Arial" (font_size
8)))
+ (line (pt 160 136)(pt 144 136)(line_width 1))
+ )
+ (drawing
+ (text "16 bits x 256 words" (rect 63 156 144 168)(font "Arial"
))
+ (line (pt 16 16)(pt 144 16)(line_width 1))
+ (line (pt 144 16)(pt 144 168)(line_width 1))
+ (line (pt 144 168)(pt 16 168)(line_width 1))
+ (line (pt 16 168)(pt 16 16)(line_width 1))
+ (line (pt 16 84)(pt 144 84)(line_width 1))
+ (line (pt 16 148)(pt 144 148)(line_width 1))
+ (line (pt 16 66)(pt 22 72)(line_width 1))
+ (line (pt 22 72)(pt 16 78)(line_width 1))
+ (line (pt 16 114)(pt 22 120)(line_width 1))
+ (line (pt 22 120)(pt 16 126)(line_width 1))
+ )
+)
Property changes on:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.bsf
___________________________________________________________________
Name: svn:executable
+ *
Added:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.cmp
===================================================================
---
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.cmp
(rev 0)
+++
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.cmp
2007-04-25 21:17:46 UTC (rev 5112)
@@ -0,0 +1,31 @@
+--Copyright (C) 1991-2006 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 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.
+
+
+component fifo_512
+ PORT
+ (
+ aclr : IN STD_LOGIC := '0';
+ data : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
+ rdclk : IN STD_LOGIC ;
+ rdreq : IN STD_LOGIC ;
+ wrclk : IN STD_LOGIC ;
+ wrreq : IN STD_LOGIC ;
+ q : OUT STD_LOGIC_VECTOR (15 DOWNTO 0);
+ rdempty : OUT STD_LOGIC ;
+ rdfull : OUT STD_LOGIC ;
+ wrempty : OUT STD_LOGIC ;
+ wrfull : OUT STD_LOGIC
+ );
+end component;
Property changes on:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.cmp
___________________________________________________________________
Name: svn:executable
+ *
Added:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.inc
===================================================================
---
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.inc
(rev 0)
+++
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.inc
2007-04-25 21:17:46 UTC (rev 5112)
@@ -0,0 +1,32 @@
+--Copyright (C) 1991-2006 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 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.
+
+
+FUNCTION fifo_512
+(
+ aclr,
+ data[15..0],
+ rdclk,
+ rdreq,
+ wrclk,
+ wrreq
+)
+
+RETURNS (
+ q[15..0],
+ rdempty,
+ rdfull,
+ wrempty,
+ wrfull
+);
Property changes on:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.inc
___________________________________________________________________
Name: svn:executable
+ *
Added:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.v
===================================================================
--- gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.v
(rev 0)
+++ gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.v
2007-04-25 21:17:46 UTC (rev 5112)
@@ -0,0 +1,2977 @@
+// megafunction wizard: %LPM_FIFO+%CBX%
+// GENERATION: STANDARD
+// VERSION: WM1.0
+// MODULE: dcfifo
+
+// ============================================================
+// File Name: fifo_512.v
+// Megafunction Name(s):
+// dcfifo
+// ============================================================
+// ************************************************************
+// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
+//
+// 5.1 Build 213 01/19/2006 SP 1 SJ Web Edition
+// ************************************************************
+
+
+//Copyright (C) 1991-2006 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 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.
+
+
+//dcfifo ADD_RAM_OUTPUT_REGISTER="OFF" CLOCKS_ARE_SYNCHRONIZED="FALSE"
DEVICE_FAMILY="Cyclone" LPM_NUMWORDS=256 LPM_SHOWAHEAD="OFF" LPM_WIDTH=16
LPM_WIDTHU=8 OVERFLOW_CHECKING="ON" UNDERFLOW_CHECKING="ON" USE_EAB="ON" aclr
data q rdclk rdempty rdfull rdreq wrclk wrempty wrfull wrreq
lpm_hint="RAM_BLOCK_TYPE=M4K" RAM_BLOCK_TYPE="M4K"
ALTERA_INTERNAL_OPTIONS=AUTO_SHIFT_REGISTER_RECOGNITION=OFF
+//VERSION_BEGIN 5.1 cbx_a_gray2bin 2005:04:26:17:26:10:SJ cbx_a_graycounter
2005:07:26:16:56:48:SJ cbx_altdpram 2004:11:30:11:29:56:SJ cbx_altsyncram
2005:11:08:14:10:50:SJ cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_dcfifo
2005:09:17:09:58:04:SJ cbx_fifo_common 2005:07:21:10:40:24:SJ cbx_flex10ke
2002:10:18:16:54:38:SJ cbx_lpm_add_sub 2005:11:02:10:42:42:SJ cbx_lpm_compare
2005:07:11:09:41:28:SJ cbx_lpm_counter 2005:08:23:15:49:38:SJ cbx_lpm_decode
2005:04:27:14:28:48:SJ cbx_lpm_mux 2005:12:13:16:24:06:SJ cbx_mgl
2006:01:12:16:15:18:SJ cbx_scfifo 2005:09:06:13:25:24:SJ cbx_stratix
2005:12:28:11:18:26:SJ cbx_stratixii 2005:11:02:10:43:56:SJ cbx_util_mgl
2005:09:12:10:23:22:SJ VERSION_END
+
+
+//a_fefifo LPM_NUMWORDS=256 lpm_widthad=8 OVERFLOW_CHECKING="ON"
UNDERFLOW_CHECKING="ON" USEDW_IN_DELAY=1 aclr clock empty full rreq usedw_in
+//VERSION_BEGIN 5.1 cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_fifo_common
2005:07:21:10:40:24:SJ cbx_lpm_add_sub 2005:11:02:10:42:42:SJ cbx_lpm_compare
2005:07:11:09:41:28:SJ cbx_lpm_counter 2005:08:23:15:49:38:SJ cbx_lpm_decode
2005:04:27:14:28:48:SJ cbx_mgl 2006:01:12:16:15:18:SJ cbx_stratix
2005:12:28:11:18:26:SJ cbx_stratixii 2005:11:02:10:43:56:SJ VERSION_END
+
+
+//lpm_compare DEVICE_FAMILY="Cyclone" LPM_WIDTH=8 ONE_INPUT_IS_CONSTANT="YES"
ageb dataa datab
+//VERSION_BEGIN 5.1 cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_lpm_add_sub
2005:11:02:10:42:42:SJ cbx_lpm_compare 2005:07:11:09:41:28:SJ cbx_mgl
2006:01:12:16:15:18:SJ cbx_stratix 2005:12:28:11:18:26:SJ cbx_stratixii
2005:11:02:10:43:56:SJ VERSION_END
+
+//synthesis_resources = lut 17
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_a_fefifo_gtc
+ (
+ aclr,
+ clock,
+ empty,
+ full,
+ rreq,
+ usedw_in) /* synthesis synthesis_clearbox=1 */;
+ input aclr;
+ input clock;
+ output empty;
+ output full;
+ input rreq;
+ input [7:0] usedw_in;
+
+ reg b_full;
+ reg b_non_empty;
+ reg b_one;
+ reg llreq;
+ reg wire_cmp_full_aeb_int;
+ reg wire_cmp_full_agb_int;
+ wire wire_cmp_full_ageb;
+ wire [7:0] wire_cmp_full_dataa;
+ wire [7:0] wire_cmp_full_datab;
+ wire [7:0] equal_one;
+ wire [7:0] equal_two;
+ wire [7:0] equal_zero;
+ wire is_one0;
+ wire is_one1;
+ wire is_one2;
+ wire is_one3;
+ wire is_one4;
+ wire is_one5;
+ wire is_one6;
+ wire is_one7;
+ wire is_two0;
+ wire is_two1;
+ wire is_two2;
+ wire is_two3;
+ wire is_two4;
+ wire is_two5;
+ wire is_two6;
+ wire is_two7;
+ wire is_zero0;
+ wire is_zero1;
+ wire is_zero2;
+ wire is_zero3;
+ wire is_zero4;
+ wire is_zero5;
+ wire is_zero6;
+ wire is_zero7;
+ wire [7:0] usedw;
+
+ // synopsys translate_off
+ initial
+ b_full = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or posedge aclr)
+ if (aclr == 1'b1) b_full <= 1'b0;
+ else b_full <= wire_cmp_full_ageb;
+ // synopsys translate_off
+ initial
+ b_non_empty = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or posedge aclr)
+ if (aclr == 1'b1) b_non_empty <= 1'b0;
+ else b_non_empty <= (((b_non_empty & (b_non_empty ^ (((is_one7
& (~ llreq)) | (is_two7 & llreq)) & rreq))) | ((b_one & (~ is_zero7)) & (~
is_one7))) | (((~ b_one) & (~ b_non_empty)) & (~ is_zero7)));
+ // synopsys translate_off
+ initial
+ b_one = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or posedge aclr)
+ if (aclr == 1'b1) b_one <= 1'b0;
+ else b_one <= ((~ b_one) & (b_non_empty & (((is_one7 & (~
llreq)) | (is_two7 & llreq)) & rreq)));
+ // synopsys translate_off
+ initial
+ llreq = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or posedge aclr)
+ if (aclr == 1'b1) llreq <= 1'b0;
+ else llreq <= (rreq & b_non_empty);
+ always @(wire_cmp_full_dataa or wire_cmp_full_datab)
+ begin
+ if (wire_cmp_full_dataa == wire_cmp_full_datab)
+ begin
+ wire_cmp_full_aeb_int = 1'b1;
+ end
+ else
+ begin
+ wire_cmp_full_aeb_int = 1'b0;
+ end
+ if (wire_cmp_full_dataa > wire_cmp_full_datab)
+ begin
+ wire_cmp_full_agb_int = 1'b1;
+ end
+ else
+ begin
+ wire_cmp_full_agb_int = 1'b0;
+ end
+ end
+ assign
+ wire_cmp_full_ageb = wire_cmp_full_agb_int |
wire_cmp_full_aeb_int;
+ assign
+ wire_cmp_full_dataa = usedw,
+ wire_cmp_full_datab = 8'b11111101;
+ assign
+ empty = (~ b_non_empty),
+ equal_one = {{7{1'b1}}, 1'b0},
+ equal_two = {{6{1'b1}}, 1'b0, 1'b1},
+ equal_zero = {8{1'b1}},
+ full = b_full,
+ is_one0 = (usedw[0] ^ equal_one[0]),
+ is_one1 = ((usedw[1] ^ equal_one[1]) & is_one0),
+ is_one2 = ((usedw[2] ^ equal_one[2]) & is_one1),
+ is_one3 = ((usedw[3] ^ equal_one[3]) & is_one2),
+ is_one4 = ((usedw[4] ^ equal_one[4]) & is_one3),
+ is_one5 = ((usedw[5] ^ equal_one[5]) & is_one4),
+ is_one6 = ((usedw[6] ^ equal_one[6]) & is_one5),
+ is_one7 = ((usedw[7] ^ equal_one[7]) & is_one6),
+ is_two0 = (usedw[0] ^ equal_two[0]),
+ is_two1 = ((usedw[1] ^ equal_two[1]) & is_two0),
+ is_two2 = ((usedw[2] ^ equal_two[2]) & is_two1),
+ is_two3 = ((usedw[3] ^ equal_two[3]) & is_two2),
+ is_two4 = ((usedw[4] ^ equal_two[4]) & is_two3),
+ is_two5 = ((usedw[5] ^ equal_two[5]) & is_two4),
+ is_two6 = ((usedw[6] ^ equal_two[6]) & is_two5),
+ is_two7 = ((usedw[7] ^ equal_two[7]) & is_two6),
+ is_zero0 = (usedw[0] ^ equal_zero[0]),
+ is_zero1 = ((usedw[1] ^ equal_zero[1]) & is_zero0),
+ is_zero2 = ((usedw[2] ^ equal_zero[2]) & is_zero1),
+ is_zero3 = ((usedw[3] ^ equal_zero[3]) & is_zero2),
+ is_zero4 = ((usedw[4] ^ equal_zero[4]) & is_zero3),
+ is_zero5 = ((usedw[5] ^ equal_zero[5]) & is_zero4),
+ is_zero6 = ((usedw[6] ^ equal_zero[6]) & is_zero5),
+ is_zero7 = ((usedw[7] ^ equal_zero[7]) & is_zero6),
+ usedw = usedw_in;
+endmodule //fifo_512_a_fefifo_gtc
+
+
+//a_fefifo LPM_NUMWORDS=256 lpm_widthad=8 OVERFLOW_CHECKING="ON"
UNDERFLOW_CHECKING="ON" USEDW_IN_DELAY=1 aclr clock empty full usedw_in wreq
+//VERSION_BEGIN 5.1 cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_fifo_common
2005:07:21:10:40:24:SJ cbx_lpm_add_sub 2005:11:02:10:42:42:SJ cbx_lpm_compare
2005:07:11:09:41:28:SJ cbx_lpm_counter 2005:08:23:15:49:38:SJ cbx_lpm_decode
2005:04:27:14:28:48:SJ cbx_mgl 2006:01:12:16:15:18:SJ cbx_stratix
2005:12:28:11:18:26:SJ cbx_stratixii 2005:11:02:10:43:56:SJ VERSION_END
+
+
+//lpm_compare DEVICE_FAMILY="Cyclone" LPM_WIDTH=8 ONE_INPUT_IS_CONSTANT="YES"
ageb dataa datab
+//VERSION_BEGIN 5.1 cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_lpm_add_sub
2005:11:02:10:42:42:SJ cbx_lpm_compare 2005:07:11:09:41:28:SJ cbx_mgl
2006:01:12:16:15:18:SJ cbx_stratix 2005:12:28:11:18:26:SJ cbx_stratixii
2005:11:02:10:43:56:SJ VERSION_END
+
+//synthesis_resources = lut 16
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_a_fefifo_ltc
+ (
+ aclr,
+ clock,
+ empty,
+ full,
+ usedw_in,
+ wreq) /* synthesis synthesis_clearbox=1 */;
+ input aclr;
+ input clock;
+ output empty;
+ output full;
+ input [7:0] usedw_in;
+ input wreq;
+
+ reg b_full;
+ reg b_non_empty;
+ reg b_one;
+ reg wire_cmp_full_aeb_int;
+ reg wire_cmp_full_agb_int;
+ wire wire_cmp_full_ageb;
+ wire [7:0] wire_cmp_full_dataa;
+ wire [7:0] wire_cmp_full_datab;
+ wire [7:0] equal_zero;
+ wire is_zero0;
+ wire is_zero1;
+ wire is_zero2;
+ wire is_zero3;
+ wire is_zero4;
+ wire is_zero5;
+ wire is_zero6;
+ wire is_zero7;
+ wire [7:0] usedw;
+
+ // synopsys translate_off
+ initial
+ b_full = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or posedge aclr)
+ if (aclr == 1'b1) b_full <= 1'b0;
+ else b_full <= wire_cmp_full_ageb;
+ // synopsys translate_off
+ initial
+ b_non_empty = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or posedge aclr)
+ if (aclr == 1'b1) b_non_empty <= 1'b0;
+ else b_non_empty <= (wreq | (b_non_empty & ((~ b_one) | (~
is_zero7))));
+ // synopsys translate_off
+ initial
+ b_one = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or posedge aclr)
+ if (aclr == 1'b1) b_one <= 1'b0;
+ else b_one <= ((b_one & (b_one ^ (wreq | is_zero7))) | (((~
b_one) & b_non_empty) & (~ wreq)));
+ always @(wire_cmp_full_dataa or wire_cmp_full_datab)
+ begin
+ if (wire_cmp_full_dataa == wire_cmp_full_datab)
+ begin
+ wire_cmp_full_aeb_int = 1'b1;
+ end
+ else
+ begin
+ wire_cmp_full_aeb_int = 1'b0;
+ end
+ if (wire_cmp_full_dataa > wire_cmp_full_datab)
+ begin
+ wire_cmp_full_agb_int = 1'b1;
+ end
+ else
+ begin
+ wire_cmp_full_agb_int = 1'b0;
+ end
+ end
+ assign
+ wire_cmp_full_ageb = wire_cmp_full_agb_int |
wire_cmp_full_aeb_int;
+ assign
+ wire_cmp_full_dataa = usedw,
+ wire_cmp_full_datab = 8'b11111101;
+ assign
+ empty = (~ b_non_empty),
+ equal_zero = {8{1'b1}},
+ full = b_full,
+ is_zero0 = (usedw[0] ^ equal_zero[0]),
+ is_zero1 = ((usedw[1] ^ equal_zero[1]) & is_zero0),
+ is_zero2 = ((usedw[2] ^ equal_zero[2]) & is_zero1),
+ is_zero3 = ((usedw[3] ^ equal_zero[3]) & is_zero2),
+ is_zero4 = ((usedw[4] ^ equal_zero[4]) & is_zero3),
+ is_zero5 = ((usedw[5] ^ equal_zero[5]) & is_zero4),
+ is_zero6 = ((usedw[6] ^ equal_zero[6]) & is_zero5),
+ is_zero7 = ((usedw[7] ^ equal_zero[7]) & is_zero6),
+ usedw = usedw_in;
+endmodule //fifo_512_a_fefifo_ltc
+
+
+//a_gray2bin device_family="Cyclone" WIDTH=8 bin gray
+//VERSION_BEGIN 5.1 cbx_a_gray2bin 2005:04:26:17:26:10:SJ cbx_mgl
2006:01:12:16:15:18:SJ VERSION_END
+
+//synthesis_resources =
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_a_gray2bin_uk4
+ (
+ bin,
+ gray) /* synthesis synthesis_clearbox=1 */;
+ output [7:0] bin;
+ input [7:0] gray;
+
+ wire xor0;
+ wire xor1;
+ wire xor2;
+ wire xor3;
+ wire xor4;
+ wire xor5;
+ wire xor6;
+
+ assign
+ bin = {gray[7], xor6, xor5, xor4, xor3, xor2, xor1, xor0},
+ xor0 = (gray[0] ^ xor1),
+ xor1 = (gray[1] ^ xor2),
+ xor2 = (gray[2] ^ xor3),
+ xor3 = (gray[3] ^ xor4),
+ xor4 = (gray[4] ^ xor5),
+ xor5 = (gray[5] ^ xor6),
+ xor6 = (gray[7] ^ gray[6]);
+endmodule //fifo_512_a_gray2bin_uk4
+
+
+//a_graycounter DEVICE_FAMILY="Cyclone" WIDTH=8 aclr clock cnt_en q
+//VERSION_BEGIN 5.1 cbx_a_gray2bin 2005:04:26:17:26:10:SJ cbx_a_graycounter
2005:07:26:16:56:48:SJ cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_flex10ke
2002:10:18:16:54:38:SJ cbx_mgl 2006:01:12:16:15:18:SJ cbx_stratix
2005:12:28:11:18:26:SJ cbx_stratixii 2005:11:02:10:43:56:SJ VERSION_END
+
+//synthesis_resources = lut 9
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_a_graycounter_t06
+ (
+ aclr,
+ clock,
+ cnt_en,
+ q) /* synthesis synthesis_clearbox=1 */;
+ input aclr;
+ input clock;
+ input cnt_en;
+ output [7:0] q;
+
+ wire [0:0] wire_countera_0cout;
+ wire [0:0] wire_countera_1cout;
+ wire [0:0] wire_countera_2cout;
+ wire [0:0] wire_countera_3cout;
+ wire [0:0] wire_countera_4cout;
+ wire [0:0] wire_countera_5cout;
+ wire [0:0] wire_countera_6cout;
+ wire [7:0] wire_countera_regout;
+ wire wire_parity_cout;
+ wire wire_parity_regout;
+ wire [7:0] power_modified_counter_values;
+ wire sclr;
+ wire updown;
+
+ cyclone_lcell countera_0
+ (
+ .aclr(aclr),
+ .cin(wire_parity_cout),
+ .clk(clock),
+ .combout(),
+ .cout(wire_countera_0cout[0:0]),
+ .dataa(cnt_en),
+ .datab(wire_countera_regout[0:0]),
+ .ena(1'b1),
+ .regout(wire_countera_regout[0:0]),
+ .sclr(sclr),
+ .aload(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ countera_0.cin_used = "true",
+ countera_0.lut_mask = "c6a0",
+ countera_0.operation_mode = "arithmetic",
+ countera_0.sum_lutc_input = "cin",
+ countera_0.synch_mode = "on",
+ countera_0.lpm_type = "cyclone_lcell";
+ cyclone_lcell countera_1
+ (
+ .aclr(aclr),
+ .cin(wire_countera_0cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_countera_1cout[0:0]),
+ .dataa(power_modified_counter_values[0]),
+ .datab(power_modified_counter_values[1]),
+ .ena(1'b1),
+ .regout(wire_countera_regout[1:1]),
+ .sclr(sclr),
+ .aload(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ countera_1.cin_used = "true",
+ countera_1.lut_mask = "6c50",
+ countera_1.operation_mode = "arithmetic",
+ countera_1.sum_lutc_input = "cin",
+ countera_1.synch_mode = "on",
+ countera_1.lpm_type = "cyclone_lcell";
+ cyclone_lcell countera_2
+ (
+ .aclr(aclr),
+ .cin(wire_countera_1cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_countera_2cout[0:0]),
+ .dataa(power_modified_counter_values[1]),
+ .datab(power_modified_counter_values[2]),
+ .ena(1'b1),
+ .regout(wire_countera_regout[2:2]),
+ .sclr(sclr),
+ .aload(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ countera_2.cin_used = "true",
+ countera_2.lut_mask = "6c50",
+ countera_2.operation_mode = "arithmetic",
+ countera_2.sum_lutc_input = "cin",
+ countera_2.synch_mode = "on",
+ countera_2.lpm_type = "cyclone_lcell";
+ cyclone_lcell countera_3
+ (
+ .aclr(aclr),
+ .cin(wire_countera_2cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_countera_3cout[0:0]),
+ .dataa(power_modified_counter_values[2]),
+ .datab(power_modified_counter_values[3]),
+ .ena(1'b1),
+ .regout(wire_countera_regout[3:3]),
+ .sclr(sclr),
+ .aload(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ countera_3.cin_used = "true",
+ countera_3.lut_mask = "6c50",
+ countera_3.operation_mode = "arithmetic",
+ countera_3.sum_lutc_input = "cin",
+ countera_3.synch_mode = "on",
+ countera_3.lpm_type = "cyclone_lcell";
+ cyclone_lcell countera_4
+ (
+ .aclr(aclr),
+ .cin(wire_countera_3cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_countera_4cout[0:0]),
+ .dataa(power_modified_counter_values[3]),
+ .datab(power_modified_counter_values[4]),
+ .ena(1'b1),
+ .regout(wire_countera_regout[4:4]),
+ .sclr(sclr),
+ .aload(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ countera_4.cin_used = "true",
+ countera_4.lut_mask = "6c50",
+ countera_4.operation_mode = "arithmetic",
+ countera_4.sum_lutc_input = "cin",
+ countera_4.synch_mode = "on",
+ countera_4.lpm_type = "cyclone_lcell";
+ cyclone_lcell countera_5
+ (
+ .aclr(aclr),
+ .cin(wire_countera_4cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_countera_5cout[0:0]),
+ .dataa(power_modified_counter_values[4]),
+ .datab(power_modified_counter_values[5]),
+ .ena(1'b1),
+ .regout(wire_countera_regout[5:5]),
+ .sclr(sclr),
+ .aload(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ countera_5.cin_used = "true",
+ countera_5.lut_mask = "6c50",
+ countera_5.operation_mode = "arithmetic",
+ countera_5.sum_lutc_input = "cin",
+ countera_5.synch_mode = "on",
+ countera_5.lpm_type = "cyclone_lcell";
+ cyclone_lcell countera_6
+ (
+ .aclr(aclr),
+ .cin(wire_countera_5cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_countera_6cout[0:0]),
+ .dataa(power_modified_counter_values[5]),
+ .datab(power_modified_counter_values[6]),
+ .ena(1'b1),
+ .regout(wire_countera_regout[6:6]),
+ .sclr(sclr),
+ .aload(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ countera_6.cin_used = "true",
+ countera_6.lut_mask = "6c50",
+ countera_6.operation_mode = "arithmetic",
+ countera_6.sum_lutc_input = "cin",
+ countera_6.synch_mode = "on",
+ countera_6.lpm_type = "cyclone_lcell";
+ cyclone_lcell countera_7
+ (
+ .aclr(aclr),
+ .cin(wire_countera_6cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(),
+ .dataa(power_modified_counter_values[7]),
+ .ena(1'b1),
+ .regout(wire_countera_regout[7:7]),
+ .sclr(sclr),
+ .aload(1'b0),
+ .datab(1'b1),
+ .datac(1'b1),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ countera_7.cin_used = "true",
+ countera_7.lut_mask = "5a5a",
+ countera_7.operation_mode = "normal",
+ countera_7.sum_lutc_input = "cin",
+ countera_7.synch_mode = "on",
+ countera_7.lpm_type = "cyclone_lcell";
+ cyclone_lcell parity
+ (
+ .aclr(aclr),
+ .cin(updown),
+ .clk(clock),
+ .combout(),
+ .cout(wire_parity_cout),
+ .dataa(cnt_en),
+ .datab(wire_parity_regout),
+ .ena(1'b1),
+ .regout(wire_parity_regout),
+ .sclr(sclr),
+ .aload(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ parity.cin_used = "true",
+ parity.lut_mask = "6682",
+ parity.operation_mode = "arithmetic",
+ parity.synch_mode = "on",
+ parity.lpm_type = "cyclone_lcell";
+ assign
+ power_modified_counter_values = {wire_countera_regout[7:0]},
+ q = power_modified_counter_values,
+ sclr = 1'b0,
+ updown = 1'b1;
+endmodule //fifo_512_a_graycounter_t06
+
+
+//altdpram DEVICE_FAMILY="Cyclone" lpm_hint="RAM_BLOCK_TYPE=M4K"
OUTDATA_REG="UNREGISTERED" RDCONTROL_ACLR="OFF" RDCONTROL_REG="UNREGISTERED"
SUPPRESS_MEMORY_CONVERSION_WARNINGS="ON" USE_EAB="ON" WIDTH=16 WIDTHAD=8 data
inclock outclock outclocken q rdaddress wraddress wren RAM_BLOCK_TYPE="M4K"
+//VERSION_BEGIN 5.1 cbx_altdpram 2004:11:30:11:29:56:SJ cbx_altsyncram
2005:11:08:14:10:50:SJ cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_lpm_add_sub
2005:11:02:10:42:42:SJ cbx_lpm_compare 2005:07:11:09:41:28:SJ cbx_lpm_decode
2005:04:27:14:28:48:SJ cbx_lpm_mux 2005:12:13:16:24:06:SJ cbx_mgl
2006:01:12:16:15:18:SJ cbx_stratix 2005:12:28:11:18:26:SJ cbx_stratixii
2005:11:02:10:43:56:SJ cbx_util_mgl 2005:09:12:10:23:22:SJ VERSION_END
+
+
+//altsyncram ADDRESS_ACLR_A="NONE" ADDRESS_ACLR_B="NONE"
ADDRESS_REG_B="CLOCK1" DEVICE_FAMILY="Cyclone" INDATA_ACLR_A="NONE"
OPERATION_MODE="DUAL_PORT" OUTDATA_ACLR_B="NONE" OUTDATA_REG_B="UNREGISTERED"
RAM_BLOCK_TYPE="M4K" RDCONTROL_ACLR_B="NONE" RDCONTROL_REG_B="CLOCK0"
READ_DURING_WRITE_MODE_MIXED_PORTS="DONT_CARE" WIDTH_A=16 WIDTH_B=16
WIDTH_BYTEENA_A=2 WIDTH_BYTEENA_B=2 WIDTHAD_A=8 WIDTHAD_B=8
WRCONTROL_ACLR_A="NONE" address_a address_b clock0 clock1 clocken1 data_a q_b
wren_a
+//VERSION_BEGIN 5.1 cbx_altsyncram 2005:11:08:14:10:50:SJ cbx_cycloneii
2005:12:13:10:36:54:SJ cbx_lpm_add_sub 2005:11:02:10:42:42:SJ cbx_lpm_compare
2005:07:11:09:41:28:SJ cbx_lpm_decode 2005:04:27:14:28:48:SJ cbx_lpm_mux
2005:12:13:16:24:06:SJ cbx_mgl 2006:01:12:16:15:18:SJ cbx_stratix
2005:12:28:11:18:26:SJ cbx_stratixii 2005:11:02:10:43:56:SJ cbx_util_mgl
2005:09:12:10:23:22:SJ VERSION_END
+
+//synthesis_resources = M4K 1
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_altsyncram_2fc1
+ (
+ address_a,
+ address_b,
+ clock0,
+ clock1,
+ clocken1,
+ data_a,
+ q_b,
+ wren_a) /* synthesis synthesis_clearbox=1 */
+ /* synthesis
ALTERA_ATTRIBUTE="OPTIMIZE_POWER_DURING_SYNTHESIS=NORMAL_COMPILATION" */;
+ input [7:0] address_a;
+ input [7:0] address_b;
+ input clock0;
+ input clock1;
+ input clocken1;
+ input [15:0] data_a;
+ output [15:0] q_b;
+ input wren_a;
+
+ wire [0:0] wire_ram_block4a_0portbdataout;
+ wire [0:0] wire_ram_block4a_1portbdataout;
+ wire [0:0] wire_ram_block4a_2portbdataout;
+ wire [0:0] wire_ram_block4a_3portbdataout;
+ wire [0:0] wire_ram_block4a_4portbdataout;
+ wire [0:0] wire_ram_block4a_5portbdataout;
+ wire [0:0] wire_ram_block4a_6portbdataout;
+ wire [0:0] wire_ram_block4a_7portbdataout;
+ wire [0:0] wire_ram_block4a_8portbdataout;
+ wire [0:0] wire_ram_block4a_9portbdataout;
+ wire [0:0] wire_ram_block4a_10portbdataout;
+ wire [0:0] wire_ram_block4a_11portbdataout;
+ wire [0:0] wire_ram_block4a_12portbdataout;
+ wire [0:0] wire_ram_block4a_13portbdataout;
+ wire [0:0] wire_ram_block4a_14portbdataout;
+ wire [0:0] wire_ram_block4a_15portbdataout;
+ wire [7:0] address_a_wire;
+ wire [7:0] address_b_wire;
+
+ cyclone_ram_block ram_block4a_0
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[0]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_0portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_0.connectivity_checking = "OFF",
+ ram_block4a_0.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_0.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_0.operation_mode = "dual_port",
+ ram_block4a_0.port_a_address_clear = "none",
+ ram_block4a_0.port_a_address_width = 8,
+ ram_block4a_0.port_a_data_in_clear = "none",
+ ram_block4a_0.port_a_data_width = 1,
+ ram_block4a_0.port_a_first_address = 0,
+ ram_block4a_0.port_a_first_bit_number = 0,
+ ram_block4a_0.port_a_last_address = 255,
+ ram_block4a_0.port_a_logical_ram_depth = 256,
+ ram_block4a_0.port_a_logical_ram_width = 16,
+ ram_block4a_0.port_a_write_enable_clear = "none",
+ ram_block4a_0.port_b_address_clear = "none",
+ ram_block4a_0.port_b_address_clock = "clock1",
+ ram_block4a_0.port_b_address_width = 8,
+ ram_block4a_0.port_b_data_out_clear = "none",
+ ram_block4a_0.port_b_data_out_clock = "none",
+ ram_block4a_0.port_b_data_width = 1,
+ ram_block4a_0.port_b_first_address = 0,
+ ram_block4a_0.port_b_first_bit_number = 0,
+ ram_block4a_0.port_b_last_address = 255,
+ ram_block4a_0.port_b_logical_ram_depth = 256,
+ ram_block4a_0.port_b_logical_ram_width = 16,
+ ram_block4a_0.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_0.ram_block_type = "M4K",
+ ram_block4a_0.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_1
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[1]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_1portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_1.connectivity_checking = "OFF",
+ ram_block4a_1.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_1.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_1.operation_mode = "dual_port",
+ ram_block4a_1.port_a_address_clear = "none",
+ ram_block4a_1.port_a_address_width = 8,
+ ram_block4a_1.port_a_data_in_clear = "none",
+ ram_block4a_1.port_a_data_width = 1,
+ ram_block4a_1.port_a_first_address = 0,
+ ram_block4a_1.port_a_first_bit_number = 1,
+ ram_block4a_1.port_a_last_address = 255,
+ ram_block4a_1.port_a_logical_ram_depth = 256,
+ ram_block4a_1.port_a_logical_ram_width = 16,
+ ram_block4a_1.port_a_write_enable_clear = "none",
+ ram_block4a_1.port_b_address_clear = "none",
+ ram_block4a_1.port_b_address_clock = "clock1",
+ ram_block4a_1.port_b_address_width = 8,
+ ram_block4a_1.port_b_data_out_clear = "none",
+ ram_block4a_1.port_b_data_out_clock = "none",
+ ram_block4a_1.port_b_data_width = 1,
+ ram_block4a_1.port_b_first_address = 0,
+ ram_block4a_1.port_b_first_bit_number = 1,
+ ram_block4a_1.port_b_last_address = 255,
+ ram_block4a_1.port_b_logical_ram_depth = 256,
+ ram_block4a_1.port_b_logical_ram_width = 16,
+ ram_block4a_1.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_1.ram_block_type = "M4K",
+ ram_block4a_1.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_2
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[2]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_2portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_2.connectivity_checking = "OFF",
+ ram_block4a_2.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_2.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_2.operation_mode = "dual_port",
+ ram_block4a_2.port_a_address_clear = "none",
+ ram_block4a_2.port_a_address_width = 8,
+ ram_block4a_2.port_a_data_in_clear = "none",
+ ram_block4a_2.port_a_data_width = 1,
+ ram_block4a_2.port_a_first_address = 0,
+ ram_block4a_2.port_a_first_bit_number = 2,
+ ram_block4a_2.port_a_last_address = 255,
+ ram_block4a_2.port_a_logical_ram_depth = 256,
+ ram_block4a_2.port_a_logical_ram_width = 16,
+ ram_block4a_2.port_a_write_enable_clear = "none",
+ ram_block4a_2.port_b_address_clear = "none",
+ ram_block4a_2.port_b_address_clock = "clock1",
+ ram_block4a_2.port_b_address_width = 8,
+ ram_block4a_2.port_b_data_out_clear = "none",
+ ram_block4a_2.port_b_data_out_clock = "none",
+ ram_block4a_2.port_b_data_width = 1,
+ ram_block4a_2.port_b_first_address = 0,
+ ram_block4a_2.port_b_first_bit_number = 2,
+ ram_block4a_2.port_b_last_address = 255,
+ ram_block4a_2.port_b_logical_ram_depth = 256,
+ ram_block4a_2.port_b_logical_ram_width = 16,
+ ram_block4a_2.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_2.ram_block_type = "M4K",
+ ram_block4a_2.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_3
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[3]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_3portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_3.connectivity_checking = "OFF",
+ ram_block4a_3.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_3.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_3.operation_mode = "dual_port",
+ ram_block4a_3.port_a_address_clear = "none",
+ ram_block4a_3.port_a_address_width = 8,
+ ram_block4a_3.port_a_data_in_clear = "none",
+ ram_block4a_3.port_a_data_width = 1,
+ ram_block4a_3.port_a_first_address = 0,
+ ram_block4a_3.port_a_first_bit_number = 3,
+ ram_block4a_3.port_a_last_address = 255,
+ ram_block4a_3.port_a_logical_ram_depth = 256,
+ ram_block4a_3.port_a_logical_ram_width = 16,
+ ram_block4a_3.port_a_write_enable_clear = "none",
+ ram_block4a_3.port_b_address_clear = "none",
+ ram_block4a_3.port_b_address_clock = "clock1",
+ ram_block4a_3.port_b_address_width = 8,
+ ram_block4a_3.port_b_data_out_clear = "none",
+ ram_block4a_3.port_b_data_out_clock = "none",
+ ram_block4a_3.port_b_data_width = 1,
+ ram_block4a_3.port_b_first_address = 0,
+ ram_block4a_3.port_b_first_bit_number = 3,
+ ram_block4a_3.port_b_last_address = 255,
+ ram_block4a_3.port_b_logical_ram_depth = 256,
+ ram_block4a_3.port_b_logical_ram_width = 16,
+ ram_block4a_3.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_3.ram_block_type = "M4K",
+ ram_block4a_3.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_4
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[4]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_4portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_4.connectivity_checking = "OFF",
+ ram_block4a_4.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_4.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_4.operation_mode = "dual_port",
+ ram_block4a_4.port_a_address_clear = "none",
+ ram_block4a_4.port_a_address_width = 8,
+ ram_block4a_4.port_a_data_in_clear = "none",
+ ram_block4a_4.port_a_data_width = 1,
+ ram_block4a_4.port_a_first_address = 0,
+ ram_block4a_4.port_a_first_bit_number = 4,
+ ram_block4a_4.port_a_last_address = 255,
+ ram_block4a_4.port_a_logical_ram_depth = 256,
+ ram_block4a_4.port_a_logical_ram_width = 16,
+ ram_block4a_4.port_a_write_enable_clear = "none",
+ ram_block4a_4.port_b_address_clear = "none",
+ ram_block4a_4.port_b_address_clock = "clock1",
+ ram_block4a_4.port_b_address_width = 8,
+ ram_block4a_4.port_b_data_out_clear = "none",
+ ram_block4a_4.port_b_data_out_clock = "none",
+ ram_block4a_4.port_b_data_width = 1,
+ ram_block4a_4.port_b_first_address = 0,
+ ram_block4a_4.port_b_first_bit_number = 4,
+ ram_block4a_4.port_b_last_address = 255,
+ ram_block4a_4.port_b_logical_ram_depth = 256,
+ ram_block4a_4.port_b_logical_ram_width = 16,
+ ram_block4a_4.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_4.ram_block_type = "M4K",
+ ram_block4a_4.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_5
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[5]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_5portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_5.connectivity_checking = "OFF",
+ ram_block4a_5.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_5.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_5.operation_mode = "dual_port",
+ ram_block4a_5.port_a_address_clear = "none",
+ ram_block4a_5.port_a_address_width = 8,
+ ram_block4a_5.port_a_data_in_clear = "none",
+ ram_block4a_5.port_a_data_width = 1,
+ ram_block4a_5.port_a_first_address = 0,
+ ram_block4a_5.port_a_first_bit_number = 5,
+ ram_block4a_5.port_a_last_address = 255,
+ ram_block4a_5.port_a_logical_ram_depth = 256,
+ ram_block4a_5.port_a_logical_ram_width = 16,
+ ram_block4a_5.port_a_write_enable_clear = "none",
+ ram_block4a_5.port_b_address_clear = "none",
+ ram_block4a_5.port_b_address_clock = "clock1",
+ ram_block4a_5.port_b_address_width = 8,
+ ram_block4a_5.port_b_data_out_clear = "none",
+ ram_block4a_5.port_b_data_out_clock = "none",
+ ram_block4a_5.port_b_data_width = 1,
+ ram_block4a_5.port_b_first_address = 0,
+ ram_block4a_5.port_b_first_bit_number = 5,
+ ram_block4a_5.port_b_last_address = 255,
+ ram_block4a_5.port_b_logical_ram_depth = 256,
+ ram_block4a_5.port_b_logical_ram_width = 16,
+ ram_block4a_5.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_5.ram_block_type = "M4K",
+ ram_block4a_5.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_6
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[6]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_6portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_6.connectivity_checking = "OFF",
+ ram_block4a_6.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_6.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_6.operation_mode = "dual_port",
+ ram_block4a_6.port_a_address_clear = "none",
+ ram_block4a_6.port_a_address_width = 8,
+ ram_block4a_6.port_a_data_in_clear = "none",
+ ram_block4a_6.port_a_data_width = 1,
+ ram_block4a_6.port_a_first_address = 0,
+ ram_block4a_6.port_a_first_bit_number = 6,
+ ram_block4a_6.port_a_last_address = 255,
+ ram_block4a_6.port_a_logical_ram_depth = 256,
+ ram_block4a_6.port_a_logical_ram_width = 16,
+ ram_block4a_6.port_a_write_enable_clear = "none",
+ ram_block4a_6.port_b_address_clear = "none",
+ ram_block4a_6.port_b_address_clock = "clock1",
+ ram_block4a_6.port_b_address_width = 8,
+ ram_block4a_6.port_b_data_out_clear = "none",
+ ram_block4a_6.port_b_data_out_clock = "none",
+ ram_block4a_6.port_b_data_width = 1,
+ ram_block4a_6.port_b_first_address = 0,
+ ram_block4a_6.port_b_first_bit_number = 6,
+ ram_block4a_6.port_b_last_address = 255,
+ ram_block4a_6.port_b_logical_ram_depth = 256,
+ ram_block4a_6.port_b_logical_ram_width = 16,
+ ram_block4a_6.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_6.ram_block_type = "M4K",
+ ram_block4a_6.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_7
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[7]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_7portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_7.connectivity_checking = "OFF",
+ ram_block4a_7.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_7.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_7.operation_mode = "dual_port",
+ ram_block4a_7.port_a_address_clear = "none",
+ ram_block4a_7.port_a_address_width = 8,
+ ram_block4a_7.port_a_data_in_clear = "none",
+ ram_block4a_7.port_a_data_width = 1,
+ ram_block4a_7.port_a_first_address = 0,
+ ram_block4a_7.port_a_first_bit_number = 7,
+ ram_block4a_7.port_a_last_address = 255,
+ ram_block4a_7.port_a_logical_ram_depth = 256,
+ ram_block4a_7.port_a_logical_ram_width = 16,
+ ram_block4a_7.port_a_write_enable_clear = "none",
+ ram_block4a_7.port_b_address_clear = "none",
+ ram_block4a_7.port_b_address_clock = "clock1",
+ ram_block4a_7.port_b_address_width = 8,
+ ram_block4a_7.port_b_data_out_clear = "none",
+ ram_block4a_7.port_b_data_out_clock = "none",
+ ram_block4a_7.port_b_data_width = 1,
+ ram_block4a_7.port_b_first_address = 0,
+ ram_block4a_7.port_b_first_bit_number = 7,
+ ram_block4a_7.port_b_last_address = 255,
+ ram_block4a_7.port_b_logical_ram_depth = 256,
+ ram_block4a_7.port_b_logical_ram_width = 16,
+ ram_block4a_7.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_7.ram_block_type = "M4K",
+ ram_block4a_7.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_8
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[8]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_8portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_8.connectivity_checking = "OFF",
+ ram_block4a_8.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_8.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_8.operation_mode = "dual_port",
+ ram_block4a_8.port_a_address_clear = "none",
+ ram_block4a_8.port_a_address_width = 8,
+ ram_block4a_8.port_a_data_in_clear = "none",
+ ram_block4a_8.port_a_data_width = 1,
+ ram_block4a_8.port_a_first_address = 0,
+ ram_block4a_8.port_a_first_bit_number = 8,
+ ram_block4a_8.port_a_last_address = 255,
+ ram_block4a_8.port_a_logical_ram_depth = 256,
+ ram_block4a_8.port_a_logical_ram_width = 16,
+ ram_block4a_8.port_a_write_enable_clear = "none",
+ ram_block4a_8.port_b_address_clear = "none",
+ ram_block4a_8.port_b_address_clock = "clock1",
+ ram_block4a_8.port_b_address_width = 8,
+ ram_block4a_8.port_b_data_out_clear = "none",
+ ram_block4a_8.port_b_data_out_clock = "none",
+ ram_block4a_8.port_b_data_width = 1,
+ ram_block4a_8.port_b_first_address = 0,
+ ram_block4a_8.port_b_first_bit_number = 8,
+ ram_block4a_8.port_b_last_address = 255,
+ ram_block4a_8.port_b_logical_ram_depth = 256,
+ ram_block4a_8.port_b_logical_ram_width = 16,
+ ram_block4a_8.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_8.ram_block_type = "M4K",
+ ram_block4a_8.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_9
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[9]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_9portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_9.connectivity_checking = "OFF",
+ ram_block4a_9.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_9.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_9.operation_mode = "dual_port",
+ ram_block4a_9.port_a_address_clear = "none",
+ ram_block4a_9.port_a_address_width = 8,
+ ram_block4a_9.port_a_data_in_clear = "none",
+ ram_block4a_9.port_a_data_width = 1,
+ ram_block4a_9.port_a_first_address = 0,
+ ram_block4a_9.port_a_first_bit_number = 9,
+ ram_block4a_9.port_a_last_address = 255,
+ ram_block4a_9.port_a_logical_ram_depth = 256,
+ ram_block4a_9.port_a_logical_ram_width = 16,
+ ram_block4a_9.port_a_write_enable_clear = "none",
+ ram_block4a_9.port_b_address_clear = "none",
+ ram_block4a_9.port_b_address_clock = "clock1",
+ ram_block4a_9.port_b_address_width = 8,
+ ram_block4a_9.port_b_data_out_clear = "none",
+ ram_block4a_9.port_b_data_out_clock = "none",
+ ram_block4a_9.port_b_data_width = 1,
+ ram_block4a_9.port_b_first_address = 0,
+ ram_block4a_9.port_b_first_bit_number = 9,
+ ram_block4a_9.port_b_last_address = 255,
+ ram_block4a_9.port_b_logical_ram_depth = 256,
+ ram_block4a_9.port_b_logical_ram_width = 16,
+ ram_block4a_9.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_9.ram_block_type = "M4K",
+ ram_block4a_9.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_10
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[10]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_10portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_10.connectivity_checking = "OFF",
+ ram_block4a_10.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_10.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_10.operation_mode = "dual_port",
+ ram_block4a_10.port_a_address_clear = "none",
+ ram_block4a_10.port_a_address_width = 8,
+ ram_block4a_10.port_a_data_in_clear = "none",
+ ram_block4a_10.port_a_data_width = 1,
+ ram_block4a_10.port_a_first_address = 0,
+ ram_block4a_10.port_a_first_bit_number = 10,
+ ram_block4a_10.port_a_last_address = 255,
+ ram_block4a_10.port_a_logical_ram_depth = 256,
+ ram_block4a_10.port_a_logical_ram_width = 16,
+ ram_block4a_10.port_a_write_enable_clear = "none",
+ ram_block4a_10.port_b_address_clear = "none",
+ ram_block4a_10.port_b_address_clock = "clock1",
+ ram_block4a_10.port_b_address_width = 8,
+ ram_block4a_10.port_b_data_out_clear = "none",
+ ram_block4a_10.port_b_data_out_clock = "none",
+ ram_block4a_10.port_b_data_width = 1,
+ ram_block4a_10.port_b_first_address = 0,
+ ram_block4a_10.port_b_first_bit_number = 10,
+ ram_block4a_10.port_b_last_address = 255,
+ ram_block4a_10.port_b_logical_ram_depth = 256,
+ ram_block4a_10.port_b_logical_ram_width = 16,
+ ram_block4a_10.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_10.ram_block_type = "M4K",
+ ram_block4a_10.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_11
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[11]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_11portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_11.connectivity_checking = "OFF",
+ ram_block4a_11.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_11.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_11.operation_mode = "dual_port",
+ ram_block4a_11.port_a_address_clear = "none",
+ ram_block4a_11.port_a_address_width = 8,
+ ram_block4a_11.port_a_data_in_clear = "none",
+ ram_block4a_11.port_a_data_width = 1,
+ ram_block4a_11.port_a_first_address = 0,
+ ram_block4a_11.port_a_first_bit_number = 11,
+ ram_block4a_11.port_a_last_address = 255,
+ ram_block4a_11.port_a_logical_ram_depth = 256,
+ ram_block4a_11.port_a_logical_ram_width = 16,
+ ram_block4a_11.port_a_write_enable_clear = "none",
+ ram_block4a_11.port_b_address_clear = "none",
+ ram_block4a_11.port_b_address_clock = "clock1",
+ ram_block4a_11.port_b_address_width = 8,
+ ram_block4a_11.port_b_data_out_clear = "none",
+ ram_block4a_11.port_b_data_out_clock = "none",
+ ram_block4a_11.port_b_data_width = 1,
+ ram_block4a_11.port_b_first_address = 0,
+ ram_block4a_11.port_b_first_bit_number = 11,
+ ram_block4a_11.port_b_last_address = 255,
+ ram_block4a_11.port_b_logical_ram_depth = 256,
+ ram_block4a_11.port_b_logical_ram_width = 16,
+ ram_block4a_11.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_11.ram_block_type = "M4K",
+ ram_block4a_11.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_12
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[12]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_12portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_12.connectivity_checking = "OFF",
+ ram_block4a_12.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_12.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_12.operation_mode = "dual_port",
+ ram_block4a_12.port_a_address_clear = "none",
+ ram_block4a_12.port_a_address_width = 8,
+ ram_block4a_12.port_a_data_in_clear = "none",
+ ram_block4a_12.port_a_data_width = 1,
+ ram_block4a_12.port_a_first_address = 0,
+ ram_block4a_12.port_a_first_bit_number = 12,
+ ram_block4a_12.port_a_last_address = 255,
+ ram_block4a_12.port_a_logical_ram_depth = 256,
+ ram_block4a_12.port_a_logical_ram_width = 16,
+ ram_block4a_12.port_a_write_enable_clear = "none",
+ ram_block4a_12.port_b_address_clear = "none",
+ ram_block4a_12.port_b_address_clock = "clock1",
+ ram_block4a_12.port_b_address_width = 8,
+ ram_block4a_12.port_b_data_out_clear = "none",
+ ram_block4a_12.port_b_data_out_clock = "none",
+ ram_block4a_12.port_b_data_width = 1,
+ ram_block4a_12.port_b_first_address = 0,
+ ram_block4a_12.port_b_first_bit_number = 12,
+ ram_block4a_12.port_b_last_address = 255,
+ ram_block4a_12.port_b_logical_ram_depth = 256,
+ ram_block4a_12.port_b_logical_ram_width = 16,
+ ram_block4a_12.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_12.ram_block_type = "M4K",
+ ram_block4a_12.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_13
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[13]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_13portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_13.connectivity_checking = "OFF",
+ ram_block4a_13.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_13.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_13.operation_mode = "dual_port",
+ ram_block4a_13.port_a_address_clear = "none",
+ ram_block4a_13.port_a_address_width = 8,
+ ram_block4a_13.port_a_data_in_clear = "none",
+ ram_block4a_13.port_a_data_width = 1,
+ ram_block4a_13.port_a_first_address = 0,
+ ram_block4a_13.port_a_first_bit_number = 13,
+ ram_block4a_13.port_a_last_address = 255,
+ ram_block4a_13.port_a_logical_ram_depth = 256,
+ ram_block4a_13.port_a_logical_ram_width = 16,
+ ram_block4a_13.port_a_write_enable_clear = "none",
+ ram_block4a_13.port_b_address_clear = "none",
+ ram_block4a_13.port_b_address_clock = "clock1",
+ ram_block4a_13.port_b_address_width = 8,
+ ram_block4a_13.port_b_data_out_clear = "none",
+ ram_block4a_13.port_b_data_out_clock = "none",
+ ram_block4a_13.port_b_data_width = 1,
+ ram_block4a_13.port_b_first_address = 0,
+ ram_block4a_13.port_b_first_bit_number = 13,
+ ram_block4a_13.port_b_last_address = 255,
+ ram_block4a_13.port_b_logical_ram_depth = 256,
+ ram_block4a_13.port_b_logical_ram_width = 16,
+ ram_block4a_13.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_13.ram_block_type = "M4K",
+ ram_block4a_13.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_14
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[14]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_14portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_14.connectivity_checking = "OFF",
+ ram_block4a_14.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_14.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_14.operation_mode = "dual_port",
+ ram_block4a_14.port_a_address_clear = "none",
+ ram_block4a_14.port_a_address_width = 8,
+ ram_block4a_14.port_a_data_in_clear = "none",
+ ram_block4a_14.port_a_data_width = 1,
+ ram_block4a_14.port_a_first_address = 0,
+ ram_block4a_14.port_a_first_bit_number = 14,
+ ram_block4a_14.port_a_last_address = 255,
+ ram_block4a_14.port_a_logical_ram_depth = 256,
+ ram_block4a_14.port_a_logical_ram_width = 16,
+ ram_block4a_14.port_a_write_enable_clear = "none",
+ ram_block4a_14.port_b_address_clear = "none",
+ ram_block4a_14.port_b_address_clock = "clock1",
+ ram_block4a_14.port_b_address_width = 8,
+ ram_block4a_14.port_b_data_out_clear = "none",
+ ram_block4a_14.port_b_data_out_clock = "none",
+ ram_block4a_14.port_b_data_width = 1,
+ ram_block4a_14.port_b_first_address = 0,
+ ram_block4a_14.port_b_first_bit_number = 14,
+ ram_block4a_14.port_b_last_address = 255,
+ ram_block4a_14.port_b_logical_ram_depth = 256,
+ ram_block4a_14.port_b_logical_ram_width = 16,
+ ram_block4a_14.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_14.ram_block_type = "M4K",
+ ram_block4a_14.lpm_type = "cyclone_ram_block";
+ cyclone_ram_block ram_block4a_15
+ (
+ .clk0(clock0),
+ .clk1(clock1),
+ .ena0(wren_a),
+ .ena1(clocken1),
+ .portaaddr({address_a_wire[7:0]}),
+ .portadatain({data_a[15]}),
+ .portadataout(),
+ .portawe(1'b1),
+ .portbaddr({address_b_wire[7:0]}),
+ .portbdataout(wire_ram_block4a_15portbdataout[0:0]),
+ .portbrewe(1'b1)
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_off
+ `endif
+ ,
+ .clr0(1'b0),
+ .clr1(1'b0),
+ .portabyteenamasks({1{1'b1}}),
+ .portbbyteenamasks({1{1'b1}}),
+ .portbdatain({1{1'b0}})
+ `ifdef FORMAL_VERIFICATION
+ `else
+ // synopsys translate_on
+ `endif
+ // synopsys translate_off
+ ,
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ ram_block4a_15.connectivity_checking = "OFF",
+ ram_block4a_15.logical_ram_name = "ALTSYNCRAM",
+ ram_block4a_15.mixed_port_feed_through_mode = "dont_care",
+ ram_block4a_15.operation_mode = "dual_port",
+ ram_block4a_15.port_a_address_clear = "none",
+ ram_block4a_15.port_a_address_width = 8,
+ ram_block4a_15.port_a_data_in_clear = "none",
+ ram_block4a_15.port_a_data_width = 1,
+ ram_block4a_15.port_a_first_address = 0,
+ ram_block4a_15.port_a_first_bit_number = 15,
+ ram_block4a_15.port_a_last_address = 255,
+ ram_block4a_15.port_a_logical_ram_depth = 256,
+ ram_block4a_15.port_a_logical_ram_width = 16,
+ ram_block4a_15.port_a_write_enable_clear = "none",
+ ram_block4a_15.port_b_address_clear = "none",
+ ram_block4a_15.port_b_address_clock = "clock1",
+ ram_block4a_15.port_b_address_width = 8,
+ ram_block4a_15.port_b_data_out_clear = "none",
+ ram_block4a_15.port_b_data_out_clock = "none",
+ ram_block4a_15.port_b_data_width = 1,
+ ram_block4a_15.port_b_first_address = 0,
+ ram_block4a_15.port_b_first_bit_number = 15,
+ ram_block4a_15.port_b_last_address = 255,
+ ram_block4a_15.port_b_logical_ram_depth = 256,
+ ram_block4a_15.port_b_logical_ram_width = 16,
+ ram_block4a_15.port_b_read_enable_write_enable_clock = "clock1",
+ ram_block4a_15.ram_block_type = "M4K",
+ ram_block4a_15.lpm_type = "cyclone_ram_block";
+ assign
+ address_a_wire = address_a,
+ address_b_wire = address_b,
+ q_b = {wire_ram_block4a_15portbdataout[0],
wire_ram_block4a_14portbdataout[0], wire_ram_block4a_13portbdataout[0],
wire_ram_block4a_12portbdataout[0], wire_ram_block4a_11portbdataout[0],
wire_ram_block4a_10portbdataout[0], wire_ram_block4a_9portbdataout[0],
wire_ram_block4a_8portbdataout[0], wire_ram_block4a_7portbdataout[0],
wire_ram_block4a_6portbdataout[0], wire_ram_block4a_5portbdataout[0],
wire_ram_block4a_4portbdataout[0], wire_ram_block4a_3portbdataout[0],
wire_ram_block4a_2portbdataout[0], wire_ram_block4a_1portbdataout[0],
wire_ram_block4a_0portbdataout[0]};
+endmodule //fifo_512_altsyncram_2fc1
+
+//synthesis_resources = M4K 1
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_dpram_vdr
+ (
+ data,
+ inclock,
+ outclock,
+ outclocken,
+ q,
+ rdaddress,
+ wraddress,
+ wren) /* synthesis synthesis_clearbox=1 */;
+ input [15:0] data;
+ input inclock;
+ input outclock;
+ input outclocken;
+ output [15:0] q;
+ input [7:0] rdaddress;
+ input [7:0] wraddress;
+ input wren;
+
+ wire [15:0] wire_altsyncram3_q_b;
+
+ fifo_512_altsyncram_2fc1 altsyncram3
+ (
+ .address_a(wraddress),
+ .address_b(rdaddress),
+ .clock0(inclock),
+ .clock1(outclock),
+ .clocken1(outclocken),
+ .data_a(data),
+ .q_b(wire_altsyncram3_q_b),
+ .wren_a(wren));
+ assign
+ q = wire_altsyncram3_q_b;
+endmodule //fifo_512_dpram_vdr
+
+
+//dffpipe DELAY=1 WIDTH=8 clock clrn d q
ALTERA_INTERNAL_OPTIONS=AUTO_SHIFT_REGISTER_RECOGNITION=OFF
+//VERSION_BEGIN 5.1 cbx_mgl 2006:01:12:16:15:18:SJ cbx_stratixii
2005:11:02:10:43:56:SJ cbx_util_mgl 2005:09:12:10:23:22:SJ VERSION_END
+
+//synthesis_resources = lut 8
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_dffpipe_fd9
+ (
+ clock,
+ clrn,
+ d,
+ q) /* synthesis synthesis_clearbox=1 */
+ /* synthesis
ALTERA_ATTRIBUTE="AUTO_SHIFT_REGISTER_RECOGNITION=OFF" */;
+ input clock;
+ input clrn;
+ input [7:0] d;
+ output [7:0] q;
+
+ reg [7:0] dffe5a;
+ wire ena;
+ wire prn;
+ wire sclr;
+
+ // synopsys translate_off
+ initial
+ dffe5a = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or negedge prn or negedge clrn)
+ if (prn == 1'b0) dffe5a <= {8{1'b1}};
+ else if (clrn == 1'b0) dffe5a <= 8'b0;
+ else if (ena == 1'b1) dffe5a <= (d & {8{(~ sclr)}});
+ assign
+ ena = 1'b1,
+ prn = 1'b1,
+ q = dffe5a,
+ sclr = 1'b0;
+endmodule //fifo_512_dffpipe_fd9
+
+
+//dffpipe DELAY=3 WIDTH=8 clock clrn d q
ALTERA_INTERNAL_OPTIONS=X_ON_VIOLATION_OPTION=OFF
+//VERSION_BEGIN 5.1 cbx_a_gray2bin 2005:04:26:17:26:10:SJ cbx_a_graycounter
2005:07:26:16:56:48:SJ cbx_altdpram 2004:11:30:11:29:56:SJ cbx_altsyncram
2005:11:08:14:10:50:SJ cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_dcfifo
2005:09:17:09:58:04:SJ cbx_fifo_common 2005:07:21:10:40:24:SJ cbx_flex10ke
2002:10:18:16:54:38:SJ cbx_lpm_add_sub 2005:11:02:10:42:42:SJ cbx_lpm_compare
2005:07:11:09:41:28:SJ cbx_lpm_counter 2005:08:23:15:49:38:SJ cbx_lpm_decode
2005:04:27:14:28:48:SJ cbx_lpm_mux 2005:12:13:16:24:06:SJ cbx_mgl
2006:01:12:16:15:18:SJ cbx_scfifo 2005:09:06:13:25:24:SJ cbx_stratix
2005:12:28:11:18:26:SJ cbx_stratixii 2005:11:02:10:43:56:SJ cbx_util_mgl
2005:09:12:10:23:22:SJ VERSION_END
+
+
+//dffpipe DELAY=3 WIDTH=8 clock clrn d q
ALTERA_INTERNAL_OPTIONS=AUTO_SHIFT_REGISTER_RECOGNITION=OFF
+//VERSION_BEGIN 5.1 cbx_mgl 2006:01:12:16:15:18:SJ cbx_stratixii
2005:11:02:10:43:56:SJ cbx_util_mgl 2005:09:12:10:23:22:SJ VERSION_END
+
+//synthesis_resources = lut 24
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_dffpipe_hd9
+ (
+ clock,
+ clrn,
+ d,
+ q) /* synthesis synthesis_clearbox=1 */
+ /* synthesis
ALTERA_ATTRIBUTE="AUTO_SHIFT_REGISTER_RECOGNITION=OFF" */;
+ input clock;
+ input clrn;
+ input [7:0] d;
+ output [7:0] q;
+
+ reg [7:0] dffe7a;
+ reg [7:0] dffe8a;
+ reg [7:0] dffe9a;
+ wire ena;
+ wire prn;
+ wire sclr;
+
+ // synopsys translate_off
+ initial
+ dffe7a = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or negedge prn or negedge clrn)
+ if (prn == 1'b0) dffe7a <= {8{1'b1}};
+ else if (clrn == 1'b0) dffe7a <= 8'b0;
+ else if (ena == 1'b1) dffe7a <= (d & {8{(~ sclr)}});
+ // synopsys translate_off
+ initial
+ dffe8a = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or negedge prn or negedge clrn)
+ if (prn == 1'b0) dffe8a <= {8{1'b1}};
+ else if (clrn == 1'b0) dffe8a <= 8'b0;
+ else if (ena == 1'b1) dffe8a <= (dffe7a & {8{(~ sclr)}});
+ // synopsys translate_off
+ initial
+ dffe9a = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or negedge prn or negedge clrn)
+ if (prn == 1'b0) dffe9a <= {8{1'b1}};
+ else if (clrn == 1'b0) dffe9a <= 8'b0;
+ else if (ena == 1'b1) dffe9a <= (dffe8a & {8{(~ sclr)}});
+ assign
+ ena = 1'b1,
+ prn = 1'b1,
+ q = dffe9a,
+ sclr = 1'b0;
+endmodule //fifo_512_dffpipe_hd9
+
+//synthesis_resources = lut 24
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_alt_synch_pipe_nc8
+ (
+ clock,
+ clrn,
+ d,
+ q) /* synthesis synthesis_clearbox=1 */
+ /* synthesis ALTERA_ATTRIBUTE="X_ON_VIOLATION_OPTION=OFF" */;
+ input clock;
+ input clrn;
+ input [7:0] d;
+ output [7:0] q;
+
+ wire [7:0] wire_dffpipe6_q;
+
+ fifo_512_dffpipe_hd9 dffpipe6
+ (
+ .clock(clock),
+ .clrn(clrn),
+ .d(d),
+ .q(wire_dffpipe6_q));
+ assign
+ q = wire_dffpipe6_q;
+endmodule //fifo_512_alt_synch_pipe_nc8
+
+
+//dffpipe DELAY=3 WIDTH=8 clock clrn d q
ALTERA_INTERNAL_OPTIONS=X_ON_VIOLATION_OPTION=OFF
+//VERSION_BEGIN 5.1 cbx_a_gray2bin 2005:04:26:17:26:10:SJ cbx_a_graycounter
2005:07:26:16:56:48:SJ cbx_altdpram 2004:11:30:11:29:56:SJ cbx_altsyncram
2005:11:08:14:10:50:SJ cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_dcfifo
2005:09:17:09:58:04:SJ cbx_fifo_common 2005:07:21:10:40:24:SJ cbx_flex10ke
2002:10:18:16:54:38:SJ cbx_lpm_add_sub 2005:11:02:10:42:42:SJ cbx_lpm_compare
2005:07:11:09:41:28:SJ cbx_lpm_counter 2005:08:23:15:49:38:SJ cbx_lpm_decode
2005:04:27:14:28:48:SJ cbx_lpm_mux 2005:12:13:16:24:06:SJ cbx_mgl
2006:01:12:16:15:18:SJ cbx_scfifo 2005:09:06:13:25:24:SJ cbx_stratix
2005:12:28:11:18:26:SJ cbx_stratixii 2005:11:02:10:43:56:SJ cbx_util_mgl
2005:09:12:10:23:22:SJ VERSION_END
+
+
+//dffpipe DELAY=3 WIDTH=8 clock clrn d q
ALTERA_INTERNAL_OPTIONS=AUTO_SHIFT_REGISTER_RECOGNITION=OFF
+//VERSION_BEGIN 5.1 cbx_mgl 2006:01:12:16:15:18:SJ cbx_stratixii
2005:11:02:10:43:56:SJ cbx_util_mgl 2005:09:12:10:23:22:SJ VERSION_END
+
+//synthesis_resources = lut 24
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_dffpipe_id9
+ (
+ clock,
+ clrn,
+ d,
+ q) /* synthesis synthesis_clearbox=1 */
+ /* synthesis
ALTERA_ATTRIBUTE="AUTO_SHIFT_REGISTER_RECOGNITION=OFF" */;
+ input clock;
+ input clrn;
+ input [7:0] d;
+ output [7:0] q;
+
+ reg [7:0] dffe11a;
+ reg [7:0] dffe12a;
+ reg [7:0] dffe13a;
+ wire ena;
+ wire prn;
+ wire sclr;
+
+ // synopsys translate_off
+ initial
+ dffe11a = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or negedge prn or negedge clrn)
+ if (prn == 1'b0) dffe11a <= {8{1'b1}};
+ else if (clrn == 1'b0) dffe11a <= 8'b0;
+ else if (ena == 1'b1) dffe11a <= (d & {8{(~ sclr)}});
+ // synopsys translate_off
+ initial
+ dffe12a = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or negedge prn or negedge clrn)
+ if (prn == 1'b0) dffe12a <= {8{1'b1}};
+ else if (clrn == 1'b0) dffe12a <= 8'b0;
+ else if (ena == 1'b1) dffe12a <= (dffe11a & {8{(~ sclr)}});
+ // synopsys translate_off
+ initial
+ dffe13a = 0;
+ // synopsys translate_on
+ always @ ( posedge clock or negedge prn or negedge clrn)
+ if (prn == 1'b0) dffe13a <= {8{1'b1}};
+ else if (clrn == 1'b0) dffe13a <= 8'b0;
+ else if (ena == 1'b1) dffe13a <= (dffe12a & {8{(~ sclr)}});
+ assign
+ ena = 1'b1,
+ prn = 1'b1,
+ q = dffe13a,
+ sclr = 1'b0;
+endmodule //fifo_512_dffpipe_id9
+
+//synthesis_resources = lut 24
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_alt_synch_pipe_oc8
+ (
+ clock,
+ clrn,
+ d,
+ q) /* synthesis synthesis_clearbox=1 */
+ /* synthesis ALTERA_ATTRIBUTE="X_ON_VIOLATION_OPTION=OFF" */;
+ input clock;
+ input clrn;
+ input [7:0] d;
+ output [7:0] q;
+
+ wire [7:0] wire_dffpipe10_q;
+
+ fifo_512_dffpipe_id9 dffpipe10
+ (
+ .clock(clock),
+ .clrn(clrn),
+ .d(d),
+ .q(wire_dffpipe10_q));
+ assign
+ q = wire_dffpipe10_q;
+endmodule //fifo_512_alt_synch_pipe_oc8
+
+
+//lpm_add_sub DEVICE_FAMILY="Cyclone" LPM_DIRECTION="SUB" LPM_WIDTH=8 dataa
datab result
+//VERSION_BEGIN 5.1 cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_lpm_add_sub
2005:11:02:10:42:42:SJ cbx_mgl 2006:01:12:16:15:18:SJ cbx_stratix
2005:12:28:11:18:26:SJ cbx_stratixii 2005:11:02:10:43:56:SJ VERSION_END
+
+//synthesis_resources = lut 8
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_add_sub_008
+ (
+ dataa,
+ datab,
+ result) /* synthesis synthesis_clearbox=1 */;
+ input [7:0] dataa;
+ input [7:0] datab;
+ output [7:0] result;
+
+ wire [7:0] wire_add_sub_cella_combout;
+ wire [0:0] wire_add_sub_cella_0cout;
+ wire [0:0] wire_add_sub_cella_1cout;
+ wire [0:0] wire_add_sub_cella_2cout;
+ wire [0:0] wire_add_sub_cella_3cout;
+ wire [0:0] wire_add_sub_cella_4cout;
+ wire [0:0] wire_add_sub_cella_5cout;
+ wire [0:0] wire_add_sub_cella_6cout;
+ wire [7:0] wire_add_sub_cella_dataa;
+ wire [7:0] wire_add_sub_cella_datab;
+
+ cyclone_lcell add_sub_cella_0
+ (
+ .cin(1'b1),
+ .combout(wire_add_sub_cella_combout[0:0]),
+ .cout(wire_add_sub_cella_0cout[0:0]),
+ .dataa(wire_add_sub_cella_dataa[0:0]),
+ .datab(wire_add_sub_cella_datab[0:0]),
+ .regout(),
+ .aclr(1'b0),
+ .aload(1'b0),
+ .clk(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .ena(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sclr(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ add_sub_cella_0.cin_used = "true",
+ add_sub_cella_0.lut_mask = "69b2",
+ add_sub_cella_0.operation_mode = "arithmetic",
+ add_sub_cella_0.sum_lutc_input = "cin",
+ add_sub_cella_0.lpm_type = "cyclone_lcell";
+ cyclone_lcell add_sub_cella_1
+ (
+ .cin(wire_add_sub_cella_0cout[0:0]),
+ .combout(wire_add_sub_cella_combout[1:1]),
+ .cout(wire_add_sub_cella_1cout[0:0]),
+ .dataa(wire_add_sub_cella_dataa[1:1]),
+ .datab(wire_add_sub_cella_datab[1:1]),
+ .regout(),
+ .aclr(1'b0),
+ .aload(1'b0),
+ .clk(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .ena(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sclr(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ add_sub_cella_1.cin_used = "true",
+ add_sub_cella_1.lut_mask = "69b2",
+ add_sub_cella_1.operation_mode = "arithmetic",
+ add_sub_cella_1.sum_lutc_input = "cin",
+ add_sub_cella_1.lpm_type = "cyclone_lcell";
+ cyclone_lcell add_sub_cella_2
+ (
+ .cin(wire_add_sub_cella_1cout[0:0]),
+ .combout(wire_add_sub_cella_combout[2:2]),
+ .cout(wire_add_sub_cella_2cout[0:0]),
+ .dataa(wire_add_sub_cella_dataa[2:2]),
+ .datab(wire_add_sub_cella_datab[2:2]),
+ .regout(),
+ .aclr(1'b0),
+ .aload(1'b0),
+ .clk(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .ena(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sclr(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ add_sub_cella_2.cin_used = "true",
+ add_sub_cella_2.lut_mask = "69b2",
+ add_sub_cella_2.operation_mode = "arithmetic",
+ add_sub_cella_2.sum_lutc_input = "cin",
+ add_sub_cella_2.lpm_type = "cyclone_lcell";
+ cyclone_lcell add_sub_cella_3
+ (
+ .cin(wire_add_sub_cella_2cout[0:0]),
+ .combout(wire_add_sub_cella_combout[3:3]),
+ .cout(wire_add_sub_cella_3cout[0:0]),
+ .dataa(wire_add_sub_cella_dataa[3:3]),
+ .datab(wire_add_sub_cella_datab[3:3]),
+ .regout(),
+ .aclr(1'b0),
+ .aload(1'b0),
+ .clk(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .ena(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sclr(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ add_sub_cella_3.cin_used = "true",
+ add_sub_cella_3.lut_mask = "69b2",
+ add_sub_cella_3.operation_mode = "arithmetic",
+ add_sub_cella_3.sum_lutc_input = "cin",
+ add_sub_cella_3.lpm_type = "cyclone_lcell";
+ cyclone_lcell add_sub_cella_4
+ (
+ .cin(wire_add_sub_cella_3cout[0:0]),
+ .combout(wire_add_sub_cella_combout[4:4]),
+ .cout(wire_add_sub_cella_4cout[0:0]),
+ .dataa(wire_add_sub_cella_dataa[4:4]),
+ .datab(wire_add_sub_cella_datab[4:4]),
+ .regout(),
+ .aclr(1'b0),
+ .aload(1'b0),
+ .clk(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .ena(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sclr(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ add_sub_cella_4.cin_used = "true",
+ add_sub_cella_4.lut_mask = "69b2",
+ add_sub_cella_4.operation_mode = "arithmetic",
+ add_sub_cella_4.sum_lutc_input = "cin",
+ add_sub_cella_4.lpm_type = "cyclone_lcell";
+ cyclone_lcell add_sub_cella_5
+ (
+ .cin(wire_add_sub_cella_4cout[0:0]),
+ .combout(wire_add_sub_cella_combout[5:5]),
+ .cout(wire_add_sub_cella_5cout[0:0]),
+ .dataa(wire_add_sub_cella_dataa[5:5]),
+ .datab(wire_add_sub_cella_datab[5:5]),
+ .regout(),
+ .aclr(1'b0),
+ .aload(1'b0),
+ .clk(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .ena(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sclr(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ add_sub_cella_5.cin_used = "true",
+ add_sub_cella_5.lut_mask = "69b2",
+ add_sub_cella_5.operation_mode = "arithmetic",
+ add_sub_cella_5.sum_lutc_input = "cin",
+ add_sub_cella_5.lpm_type = "cyclone_lcell";
+ cyclone_lcell add_sub_cella_6
+ (
+ .cin(wire_add_sub_cella_5cout[0:0]),
+ .combout(wire_add_sub_cella_combout[6:6]),
+ .cout(wire_add_sub_cella_6cout[0:0]),
+ .dataa(wire_add_sub_cella_dataa[6:6]),
+ .datab(wire_add_sub_cella_datab[6:6]),
+ .regout(),
+ .aclr(1'b0),
+ .aload(1'b0),
+ .clk(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .ena(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sclr(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ add_sub_cella_6.cin_used = "true",
+ add_sub_cella_6.lut_mask = "69b2",
+ add_sub_cella_6.operation_mode = "arithmetic",
+ add_sub_cella_6.sum_lutc_input = "cin",
+ add_sub_cella_6.lpm_type = "cyclone_lcell";
+ cyclone_lcell add_sub_cella_7
+ (
+ .cin(wire_add_sub_cella_6cout[0:0]),
+ .combout(wire_add_sub_cella_combout[7:7]),
+ .cout(),
+ .dataa(wire_add_sub_cella_dataa[7:7]),
+ .datab(wire_add_sub_cella_datab[7:7]),
+ .regout(),
+ .aclr(1'b0),
+ .aload(1'b0),
+ .clk(1'b0),
+ .datac(1'b1),
+ .datad(1'b1),
+ .ena(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0),
+ .sclr(1'b0),
+ .sload(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ add_sub_cella_7.cin_used = "true",
+ add_sub_cella_7.lut_mask = "6969",
+ add_sub_cella_7.operation_mode = "normal",
+ add_sub_cella_7.sum_lutc_input = "cin",
+ add_sub_cella_7.lpm_type = "cyclone_lcell";
+ assign
+ wire_add_sub_cella_dataa = dataa,
+ wire_add_sub_cella_datab = datab;
+ assign
+ result = wire_add_sub_cella_combout;
+endmodule //fifo_512_add_sub_008
+
+
+//lpm_counter DEVICE_FAMILY="Cyclone" lpm_direction="UP" lpm_width=8 aclr
clock cnt_en q
+//VERSION_BEGIN 5.1 cbx_cycloneii 2005:12:13:10:36:54:SJ cbx_lpm_add_sub
2005:11:02:10:42:42:SJ cbx_lpm_compare 2005:07:11:09:41:28:SJ cbx_lpm_counter
2005:08:23:15:49:38:SJ cbx_lpm_decode 2005:04:27:14:28:48:SJ cbx_mgl
2006:01:12:16:15:18:SJ cbx_stratix 2005:12:28:11:18:26:SJ cbx_stratixii
2005:11:02:10:43:56:SJ VERSION_END
+
+//synthesis_resources = lut 8
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_cntr_9v7
+ (
+ aclr,
+ clock,
+ cnt_en,
+ q) /* synthesis synthesis_clearbox=1 */;
+ input aclr;
+ input clock;
+ input cnt_en;
+ output [7:0] q;
+
+ wire [0:0] wire_counter_cella_0cout;
+ wire [0:0] wire_counter_cella_1cout;
+ wire [0:0] wire_counter_cella_2cout;
+ wire [0:0] wire_counter_cella_3cout;
+ wire [0:0] wire_counter_cella_4cout;
+ wire [0:0] wire_counter_cella_5cout;
+ wire [0:0] wire_counter_cella_6cout;
+ wire [7:0] wire_counter_cella_dataa;
+ wire [7:0] wire_counter_cella_datac;
+ wire [7:0] wire_counter_cella_regout;
+ wire aclr_actual;
+ wire clk_en;
+ wire [7:0] data;
+ wire [7:0] s_val;
+ wire [7:0] safe_q;
+ wire sclr;
+ wire sload;
+ wire sset;
+ wire sset_node;
+
+ cyclone_lcell counter_cella_0
+ (
+ .aclr(aclr_actual),
+ .aload(1'b0),
+ .clk(clock),
+ .combout(),
+ .cout(wire_counter_cella_0cout[0:0]),
+ .dataa(wire_counter_cella_dataa[0:0]),
+ .datab(cnt_en),
+ .datac(wire_counter_cella_datac[0:0]),
+ .ena(clk_en),
+ .regout(wire_counter_cella_regout[0:0]),
+ .sclr(sclr),
+ .sload((sset_node | sload)),
+ .cin(1'b0),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ counter_cella_0.cin_used = "false",
+ counter_cella_0.lut_mask = "66aa",
+ counter_cella_0.operation_mode = "arithmetic",
+ counter_cella_0.synch_mode = "on",
+ counter_cella_0.lpm_type = "cyclone_lcell";
+ cyclone_lcell counter_cella_1
+ (
+ .aclr(aclr_actual),
+ .aload(1'b0),
+ .cin(wire_counter_cella_0cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_counter_cella_1cout[0:0]),
+ .dataa(wire_counter_cella_dataa[1:1]),
+ .datab(cnt_en),
+ .datac(wire_counter_cella_datac[1:1]),
+ .ena(clk_en),
+ .regout(wire_counter_cella_regout[1:1]),
+ .sclr(sclr),
+ .sload((sset_node | sload)),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ counter_cella_1.cin_used = "true",
+ counter_cella_1.lut_mask = "6aa0",
+ counter_cella_1.operation_mode = "arithmetic",
+ counter_cella_1.sum_lutc_input = "cin",
+ counter_cella_1.synch_mode = "on",
+ counter_cella_1.lpm_type = "cyclone_lcell";
+ cyclone_lcell counter_cella_2
+ (
+ .aclr(aclr_actual),
+ .aload(1'b0),
+ .cin(wire_counter_cella_1cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_counter_cella_2cout[0:0]),
+ .dataa(wire_counter_cella_dataa[2:2]),
+ .datab(cnt_en),
+ .datac(wire_counter_cella_datac[2:2]),
+ .ena(clk_en),
+ .regout(wire_counter_cella_regout[2:2]),
+ .sclr(sclr),
+ .sload((sset_node | sload)),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ counter_cella_2.cin_used = "true",
+ counter_cella_2.lut_mask = "6aa0",
+ counter_cella_2.operation_mode = "arithmetic",
+ counter_cella_2.sum_lutc_input = "cin",
+ counter_cella_2.synch_mode = "on",
+ counter_cella_2.lpm_type = "cyclone_lcell";
+ cyclone_lcell counter_cella_3
+ (
+ .aclr(aclr_actual),
+ .aload(1'b0),
+ .cin(wire_counter_cella_2cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_counter_cella_3cout[0:0]),
+ .dataa(wire_counter_cella_dataa[3:3]),
+ .datab(cnt_en),
+ .datac(wire_counter_cella_datac[3:3]),
+ .ena(clk_en),
+ .regout(wire_counter_cella_regout[3:3]),
+ .sclr(sclr),
+ .sload((sset_node | sload)),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ counter_cella_3.cin_used = "true",
+ counter_cella_3.lut_mask = "6aa0",
+ counter_cella_3.operation_mode = "arithmetic",
+ counter_cella_3.sum_lutc_input = "cin",
+ counter_cella_3.synch_mode = "on",
+ counter_cella_3.lpm_type = "cyclone_lcell";
+ cyclone_lcell counter_cella_4
+ (
+ .aclr(aclr_actual),
+ .aload(1'b0),
+ .cin(wire_counter_cella_3cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_counter_cella_4cout[0:0]),
+ .dataa(wire_counter_cella_dataa[4:4]),
+ .datab(cnt_en),
+ .datac(wire_counter_cella_datac[4:4]),
+ .ena(clk_en),
+ .regout(wire_counter_cella_regout[4:4]),
+ .sclr(sclr),
+ .sload((sset_node | sload)),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ counter_cella_4.cin_used = "true",
+ counter_cella_4.lut_mask = "6aa0",
+ counter_cella_4.operation_mode = "arithmetic",
+ counter_cella_4.sum_lutc_input = "cin",
+ counter_cella_4.synch_mode = "on",
+ counter_cella_4.lpm_type = "cyclone_lcell";
+ cyclone_lcell counter_cella_5
+ (
+ .aclr(aclr_actual),
+ .aload(1'b0),
+ .cin(wire_counter_cella_4cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_counter_cella_5cout[0:0]),
+ .dataa(wire_counter_cella_dataa[5:5]),
+ .datab(cnt_en),
+ .datac(wire_counter_cella_datac[5:5]),
+ .ena(clk_en),
+ .regout(wire_counter_cella_regout[5:5]),
+ .sclr(sclr),
+ .sload((sset_node | sload)),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ counter_cella_5.cin_used = "true",
+ counter_cella_5.lut_mask = "6aa0",
+ counter_cella_5.operation_mode = "arithmetic",
+ counter_cella_5.sum_lutc_input = "cin",
+ counter_cella_5.synch_mode = "on",
+ counter_cella_5.lpm_type = "cyclone_lcell";
+ cyclone_lcell counter_cella_6
+ (
+ .aclr(aclr_actual),
+ .aload(1'b0),
+ .cin(wire_counter_cella_5cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(wire_counter_cella_6cout[0:0]),
+ .dataa(wire_counter_cella_dataa[6:6]),
+ .datab(cnt_en),
+ .datac(wire_counter_cella_datac[6:6]),
+ .ena(clk_en),
+ .regout(wire_counter_cella_regout[6:6]),
+ .sclr(sclr),
+ .sload((sset_node | sload)),
+ .datad(1'b1),
+ .inverta(1'b0),
+ .regcascin(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ counter_cella_6.cin_used = "true",
+ counter_cella_6.lut_mask = "6aa0",
+ counter_cella_6.operation_mode = "arithmetic",
+ counter_cella_6.sum_lutc_input = "cin",
+ counter_cella_6.synch_mode = "on",
+ counter_cella_6.lpm_type = "cyclone_lcell";
+ cyclone_lcell counter_cella_7
+ (
+ .aclr(aclr_actual),
+ .aload(1'b0),
+ .cin(wire_counter_cella_6cout[0:0]),
+ .clk(clock),
+ .combout(),
+ .cout(),
+ .dataa(wire_counter_cella_dataa[7:7]),
+ .datab(cnt_en),
+ .datac(wire_counter_cella_datac[7:7]),
+ .datad(1'b1),
+ .ena(clk_en),
+ .regout(wire_counter_cella_regout[7:7]),
+ .sclr(sclr),
+ .sload((sset_node | sload)),
+ .inverta(1'b0),
+ .regcascin(1'b0)
+ // synopsys translate_off
+ ,
+ .cin0(),
+ .cin1(),
+ .cout0(),
+ .cout1(),
+ .devclrn(),
+ .devpor()
+ // synopsys translate_on
+ );
+ defparam
+ counter_cella_7.cin_used = "true",
+ counter_cella_7.lut_mask = "6aa0",
+ counter_cella_7.operation_mode = "normal",
+ counter_cella_7.sum_lutc_input = "cin",
+ counter_cella_7.synch_mode = "on",
+ counter_cella_7.lpm_type = "cyclone_lcell";
+ assign
+ wire_counter_cella_dataa = safe_q,
+ wire_counter_cella_datac = (({8{sset}} & s_val) | ({8{(~
sset)}} & data));
+ assign
+ aclr_actual = aclr,
+ clk_en = 1'b1,
+ data = {8{1'b0}},
+ q = safe_q,
+ s_val = 8'b11111111,
+ safe_q = wire_counter_cella_regout,
+ sclr = 1'b0,
+ sload = 1'b0,
+ sset = 1'b0,
+ sset_node = 1'b0;
+endmodule //fifo_512_cntr_9v7
+
+//synthesis_resources = lut 122 M4K 1
+//synopsys translate_off
+`timescale 1 ps / 1 ps
+//synopsys translate_on
+module fifo_512_dcfifo_gq41
+ (
+ aclr,
+ data,
+ q,
+ rdclk,
+ rdempty,
+ rdfull,
+ rdreq,
+ rdusedw,
+ wrclk,
+ wrempty,
+ wrfull,
+ wrreq,
+ wrusedw) /* synthesis synthesis_clearbox=1 */
+ /* synthesis
ALTERA_ATTRIBUTE="AUTO_SHIFT_REGISTER_RECOGNITION=OFF;suppress_da_rule_internal=d101;suppress_da_rule_internal=d102;{
-from \"write_delay_cycle\" -to \"dffpipe_rs_dgwp|dffpipe6|dffe7a\" }CUT=ON;{
-from \"rdptr_g|power_modified_counter_values\" -to
\"dffpipe_ws_dgrp|dffpipe10|dffe11a\" }CUT=ON" */;
+ input aclr;
+ input [15:0] data;
+ output [15:0] q;
+ input rdclk;
+ output rdempty;
+ output rdfull;
+ input rdreq;
+ output [7:0] rdusedw;
+ input wrclk;
+ output wrempty;
+ output wrfull;
+ input wrreq;
+ output [7:0] wrusedw;
+
+ wire wire_read_state_empty;
+ wire wire_read_state_full;
+ wire wire_write_state_empty;
+ wire wire_write_state_full;
+ wire [7:0] wire_gray2bin_rs_nbwp_bin;
+ wire [7:0] wire_gray2bin_ws_nbrp_bin;
+ wire [7:0] wire_rdptr_g_q;
+ wire [7:0] wire_wrptr_g_q;
+ wire [15:0] wire_fiforam_q;
+ reg [7:0] write_delay_cycle;
+ wire [7:0] wire_dffpipe_rdbuw_q;
+ wire [7:0] wire_dffpipe_rdusedw_q;
+ wire [7:0] wire_dffpipe_rs_dbwp_q;
+ wire [7:0] wire_dffpipe_rs_dgwp_q;
+ wire [7:0] wire_dffpipe_wr_dbuw_q;
+ wire [7:0] wire_dffpipe_wrusedw_q;
+ wire [7:0] wire_dffpipe_ws_dgrp_q;
+ wire [7:0] wire_dffpipe_ws_nbrp_q;
+ wire [7:0] wire_lpm_add_sub_rd_udwn_result;
+ wire [7:0] wire_lpm_add_sub_wr_udwn_result;
+ wire [7:0] wire_rdptr_b_q;
+ wire [7:0] wire_wrptr_b_q;
+ wire [7:0] rd_dbuw;
+ wire [7:0] rd_udwn;
+ wire [7:0] rs_dbwp;
+ wire [7:0] rs_dgwp;
+ wire [7:0] rs_nbwp;
+ wire tmp_aclr;
+ wire [7:0] tmp_data;
+ wire valid_rreq;
+ wire valid_wreq;
+ wire [7:0] wr_dbuw;
+ wire [7:0] wr_udwn;
+ wire [7:0] ws_dbrp;
+ wire [7:0] ws_dgrp;
+ wire [7:0] ws_nbrp;
+
+ fifo_512_a_fefifo_gtc read_state
+ (
+ .aclr(aclr),
+ .clock(rdclk),
+ .empty(wire_read_state_empty),
+ .full(wire_read_state_full),
+ .rreq(rdreq),
+ .usedw_in(rd_dbuw));
+ fifo_512_a_fefifo_ltc write_state
+ (
+ .aclr(aclr),
+ .clock(wrclk),
+ .empty(wire_write_state_empty),
+ .full(wire_write_state_full),
+ .usedw_in(wr_dbuw),
+ .wreq(wrreq));
+ fifo_512_a_gray2bin_uk4 gray2bin_rs_nbwp
+ (
+ .bin(wire_gray2bin_rs_nbwp_bin),
+ .gray(rs_dgwp));
+ fifo_512_a_gray2bin_uk4 gray2bin_ws_nbrp
+ (
+ .bin(wire_gray2bin_ws_nbrp_bin),
+ .gray(ws_dgrp));
+ fifo_512_a_graycounter_t06 rdptr_g
+ (
+ .aclr(aclr),
+ .clock(rdclk),
+ .cnt_en(valid_rreq),
+ .q(wire_rdptr_g_q));
+ fifo_512_a_graycounter_t06 wrptr_g
+ (
+ .aclr(aclr),
+ .clock(wrclk),
+ .cnt_en(valid_wreq),
+ .q(wire_wrptr_g_q));
+ fifo_512_dpram_vdr fiforam
+ (
+ .data(data),
+ .inclock(wrclk),
+ .outclock(rdclk),
+ .outclocken(valid_rreq),
+ .q(wire_fiforam_q),
+ .rdaddress(wire_rdptr_g_q),
+ .wraddress(wire_wrptr_g_q),
+ .wren(valid_wreq));
+ // synopsys translate_off
+ initial
+ write_delay_cycle = 0;
+ // synopsys translate_on
+ always @ ( posedge wrclk or posedge aclr)
+ if (aclr == 1'b1) write_delay_cycle <= 8'b0;
+ else write_delay_cycle <= wire_wrptr_g_q;
+ fifo_512_dffpipe_fd9 dffpipe_rdbuw
+ (
+ .clock(rdclk),
+ .clrn(tmp_aclr),
+ .d(rd_udwn),
+ .q(wire_dffpipe_rdbuw_q));
+ fifo_512_dffpipe_fd9 dffpipe_rdusedw
+ (
+ .clock(rdclk),
+ .clrn(tmp_aclr),
+ .d(rd_udwn),
+ .q(wire_dffpipe_rdusedw_q));
+ fifo_512_dffpipe_fd9 dffpipe_rs_dbwp
+ (
+ .clock(rdclk),
+ .clrn(tmp_aclr),
+ .d(rs_nbwp),
+ .q(wire_dffpipe_rs_dbwp_q));
+ fifo_512_alt_synch_pipe_nc8 dffpipe_rs_dgwp
+ (
+ .clock(rdclk),
+ .clrn(tmp_aclr),
+ .d(write_delay_cycle),
+ .q(wire_dffpipe_rs_dgwp_q));
+ fifo_512_dffpipe_fd9 dffpipe_wr_dbuw
+ (
+ .clock(wrclk),
+ .clrn(tmp_aclr),
+ .d(wr_udwn),
+ .q(wire_dffpipe_wr_dbuw_q));
+ fifo_512_dffpipe_fd9 dffpipe_wrusedw
+ (
+ .clock(wrclk),
+ .clrn(tmp_aclr),
+ .d(wr_udwn),
+ .q(wire_dffpipe_wrusedw_q));
+ fifo_512_alt_synch_pipe_oc8 dffpipe_ws_dgrp
+ (
+ .clock(wrclk),
+ .clrn(tmp_aclr),
+ .d(tmp_data),
+ .q(wire_dffpipe_ws_dgrp_q));
+ fifo_512_dffpipe_fd9 dffpipe_ws_nbrp
+ (
+ .clock(wrclk),
+ .clrn(tmp_aclr),
+ .d(ws_nbrp),
+ .q(wire_dffpipe_ws_nbrp_q));
+ fifo_512_add_sub_008 lpm_add_sub_rd_udwn
+ (
+ .dataa(rs_dbwp),
+ .datab(wire_rdptr_b_q),
+ .result(wire_lpm_add_sub_rd_udwn_result));
+ fifo_512_add_sub_008 lpm_add_sub_wr_udwn
+ (
+ .dataa(wire_wrptr_b_q),
+ .datab(ws_dbrp),
+ .result(wire_lpm_add_sub_wr_udwn_result));
+ fifo_512_cntr_9v7 rdptr_b
+ (
+ .aclr(aclr),
+ .clock(rdclk),
+ .cnt_en(valid_rreq),
+ .q(wire_rdptr_b_q));
+ fifo_512_cntr_9v7 wrptr_b
+ (
+ .aclr(aclr),
+ .clock(wrclk),
+ .cnt_en(valid_wreq),
+ .q(wire_wrptr_b_q));
+ assign
+ q = wire_fiforam_q,
+ rd_dbuw = wire_dffpipe_rdbuw_q,
+ rd_udwn = wire_lpm_add_sub_rd_udwn_result,
+ rdempty = wire_read_state_empty,
+ rdfull = wire_read_state_full,
+ rdusedw = wire_dffpipe_rdusedw_q,
+ rs_dbwp = wire_dffpipe_rs_dbwp_q,
+ rs_dgwp = wire_dffpipe_rs_dgwp_q,
+ rs_nbwp = wire_gray2bin_rs_nbwp_bin,
+ tmp_aclr = (~ aclr),
+ tmp_data = wire_rdptr_g_q,
+ valid_rreq = (rdreq & (~ wire_read_state_empty)),
+ valid_wreq = (wrreq & (~ wire_write_state_full)),
+ wr_dbuw = wire_dffpipe_wr_dbuw_q,
+ wr_udwn = wire_lpm_add_sub_wr_udwn_result,
+ wrempty = wire_write_state_empty,
+ wrfull = wire_write_state_full,
+ wrusedw = wire_dffpipe_wrusedw_q,
+ ws_dbrp = wire_dffpipe_ws_nbrp_q,
+ ws_dgrp = wire_dffpipe_ws_dgrp_q,
+ ws_nbrp = wire_gray2bin_ws_nbrp_bin;
+endmodule //fifo_512_dcfifo_gq41
+//VALID FILE
+
+
+// synopsys translate_off
+`timescale 1 ps / 1 ps
+// synopsys translate_on
+module fifo_512 (
+ aclr,
+ data,
+ rdclk,
+ rdreq,
+ wrclk,
+ wrreq,
+ q,
+ rdempty,
+ rdfull,
+ wrempty,
+ wrfull)/* synthesis synthesis_clearbox = 1 */;
+
+ input aclr;
+ input [15:0] data;
+ input rdclk;
+ input rdreq;
+ input wrclk;
+ input wrreq;
+ output [15:0] q;
+ output rdempty;
+ output rdfull;
+ output wrempty;
+ output wrfull;
+
+ wire sub_wire0;
+ wire sub_wire1;
+ wire sub_wire2;
+ wire sub_wire3;
+ wire [15:0] sub_wire4;
+ wire rdfull = sub_wire0;
+ wire rdempty = sub_wire1;
+ wire wrfull = sub_wire2;
+ wire wrempty = sub_wire3;
+ wire [15:0] q = sub_wire4[15:0];
+
+ fifo_512_dcfifo_gq41 fifo_512_dcfifo_gq41_component (
+ .wrclk (wrclk),
+ .rdreq (rdreq),
+ .aclr (aclr),
+ .rdclk (rdclk),
+ .wrreq (wrreq),
+ .data (data),
+ .rdfull (sub_wire0),
+ .rdempty (sub_wire1),
+ .wrfull (sub_wire2),
+ .wrempty (sub_wire3),
+ .q (sub_wire4));
+
+endmodule
+
+// ============================================================
+// 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 "Cyclone"
+// 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 "2"
+// Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "2"
+// Retrieval info: PRIVATE: UNDERFLOW_CHECKING NUMERIC "0"
+// Retrieval info: PRIVATE: UsedW NUMERIC "1"
+// Retrieval info: PRIVATE: Width NUMERIC "16"
+// Retrieval info: PRIVATE: dc_aclr NUMERIC "1"
+// Retrieval info: PRIVATE: rsEmpty NUMERIC "1"
+// Retrieval info: PRIVATE: rsFull NUMERIC "1"
+// Retrieval info: PRIVATE: rsUsedW NUMERIC "0"
+// Retrieval info: PRIVATE: sc_aclr NUMERIC "0"
+// Retrieval info: PRIVATE: sc_sclr NUMERIC "0"
+// Retrieval info: PRIVATE: wsEmpty NUMERIC "1"
+// Retrieval info: PRIVATE: wsFull NUMERIC "1"
+// Retrieval info: PRIVATE: wsUsedW NUMERIC "0"
+// Retrieval info: CONSTANT: ADD_RAM_OUTPUT_REGISTER STRING "OFF"
+// Retrieval info: CONSTANT: CLOCKS_ARE_SYNCHRONIZED STRING "FALSE"
+// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone"
+// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone"
+// Retrieval info: CONSTANT: LPM_HINT STRING "RAM_BLOCK_TYPE=M4K"
+// 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 "16"
+// 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 GND aclr
+// Retrieval info: USED_PORT: data 0 0 16 0 INPUT NODEFVAL data[15..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: rdfull 0 0 0 0 OUTPUT NODEFVAL rdfull
+// Retrieval info: USED_PORT: rdreq 0 0 0 0 INPUT NODEFVAL rdreq
+// Retrieval info: USED_PORT: wrclk 0 0 0 0 INPUT NODEFVAL wrclk
+// Retrieval info: USED_PORT: wrempty 0 0 0 0 OUTPUT NODEFVAL wrempty
+// 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: CONNECT: @data 0 0 16 0 data 0 0 16 0
+// Retrieval info: CONNECT: q 0 0 16 0 @q 0 0 16 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: rdfull 0 0 0 0 @rdfull 0 0 0 0
+// Retrieval info: CONNECT: rdempty 0 0 0 0 @rdempty 0 0 0 0
+// Retrieval info: CONNECT: wrfull 0 0 0 0 @wrfull 0 0 0 0
+// Retrieval info: CONNECT: wrempty 0 0 0 0 @wrempty 0 0 0 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 fifo_512.v TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512.inc TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512.cmp TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512.bsf TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512_inst.v TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512_bb.v TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512_waveforms.html TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512_wave*.jpg FALSE
Property changes on:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512.v
___________________________________________________________________
Name: svn:executable
+ *
Added:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512_bb.v
===================================================================
---
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512_bb.v
(rev 0)
+++
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512_bb.v
2007-04-25 21:17:46 UTC (rev 5112)
@@ -0,0 +1,132 @@
+// megafunction wizard: %LPM_FIFO+%VBB%
+// GENERATION: STANDARD
+// VERSION: WM1.0
+// MODULE: dcfifo
+
+// ============================================================
+// File Name: fifo_512.v
+// Megafunction Name(s):
+// dcfifo
+// ============================================================
+// ************************************************************
+// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
+//
+// 5.1 Build 213 01/19/2006 SP 1 SJ Web Edition
+// ************************************************************
+
+//Copyright (C) 1991-2006 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 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.
+
+module fifo_512 (
+ aclr,
+ data,
+ rdclk,
+ rdreq,
+ wrclk,
+ wrreq,
+ q,
+ rdempty,
+ rdfull,
+ wrempty,
+ wrfull)/* synthesis synthesis_clearbox = 1 */;
+
+ input aclr;
+ input [15:0] data;
+ input rdclk;
+ input rdreq;
+ input wrclk;
+ input wrreq;
+ output [15:0] q;
+ output rdempty;
+ output rdfull;
+ output wrempty;
+ output wrfull;
+
+endmodule
+
+// ============================================================
+// 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 "Cyclone"
+// 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 "2"
+// Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "2"
+// Retrieval info: PRIVATE: UNDERFLOW_CHECKING NUMERIC "0"
+// Retrieval info: PRIVATE: UsedW NUMERIC "1"
+// Retrieval info: PRIVATE: Width NUMERIC "16"
+// Retrieval info: PRIVATE: dc_aclr NUMERIC "1"
+// Retrieval info: PRIVATE: rsEmpty NUMERIC "1"
+// Retrieval info: PRIVATE: rsFull NUMERIC "1"
+// Retrieval info: PRIVATE: rsUsedW NUMERIC "0"
+// Retrieval info: PRIVATE: sc_aclr NUMERIC "0"
+// Retrieval info: PRIVATE: sc_sclr NUMERIC "0"
+// Retrieval info: PRIVATE: wsEmpty NUMERIC "1"
+// Retrieval info: PRIVATE: wsFull NUMERIC "1"
+// Retrieval info: PRIVATE: wsUsedW NUMERIC "0"
+// Retrieval info: CONSTANT: ADD_RAM_OUTPUT_REGISTER STRING "OFF"
+// Retrieval info: CONSTANT: CLOCKS_ARE_SYNCHRONIZED STRING "FALSE"
+// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone"
+// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone"
+// Retrieval info: CONSTANT: LPM_HINT STRING "RAM_BLOCK_TYPE=M4K"
+// 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 "16"
+// 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 GND aclr
+// Retrieval info: USED_PORT: data 0 0 16 0 INPUT NODEFVAL data[15..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: rdfull 0 0 0 0 OUTPUT NODEFVAL rdfull
+// Retrieval info: USED_PORT: rdreq 0 0 0 0 INPUT NODEFVAL rdreq
+// Retrieval info: USED_PORT: wrclk 0 0 0 0 INPUT NODEFVAL wrclk
+// Retrieval info: USED_PORT: wrempty 0 0 0 0 OUTPUT NODEFVAL wrempty
+// 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: CONNECT: @data 0 0 16 0 data 0 0 16 0
+// Retrieval info: CONNECT: q 0 0 16 0 @q 0 0 16 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: rdfull 0 0 0 0 @rdfull 0 0 0 0
+// Retrieval info: CONNECT: rdempty 0 0 0 0 @rdempty 0 0 0 0
+// Retrieval info: CONNECT: wrfull 0 0 0 0 @wrfull 0 0 0 0
+// Retrieval info: CONNECT: wrempty 0 0 0 0 @wrempty 0 0 0 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 fifo_512.v TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512.inc TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512.cmp TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512.bsf TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512_inst.v TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512_bb.v TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512_waveforms.html TRUE
+// Retrieval info: GEN_FILE: TYPE_NORMAL fifo_512_wave*.jpg FALSE
Property changes on:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/megacells/fifo_512_bb.v
___________________________________________________________________
Name: svn:executable
+ *
Modified: gnuradio/branches/developers/thottelt/simulations/tx.mpf
===================================================================
--- gnuradio/branches/developers/thottelt/simulations/tx.mpf 2007-04-25
20:15:46 UTC (rev 5111)
+++ gnuradio/branches/developers/thottelt/simulations/tx.mpf 2007-04-25
21:17:46 UTC (rev 5112)
@@ -243,35 +243,39 @@
Project_Version = 6
Project_DefaultLib = work
Project_SortMethod = unused
-Project_Files_Count = 14
+Project_Files_Count = 16
Project_File_0 = ./strobe_gen_test.v
-Project_File_P_0 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177269906 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order
10 dont_compile 0 cover_expr 0 cover_stmt 0
-Project_File_1 = ./fake_fx2.v
-Project_File_P_1 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177429364 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 1
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order
11 dont_compile 0 cover_expr 0 cover_stmt 0
-Project_File_2 = Z:/wc/inband/usrp/fpga/megacells/fifo_512.v
-Project_File_P_2 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 1 vlog_upper 0 compile_to work vlog_options {} compile_order 13
cover_expr 0 dont_compile 0 cover_stmt 0
-Project_File_3 = ../inband/usrp/fpga/inband_lib/usb_fifo_reader.v
-Project_File_P_3 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177272423 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 8
cover_expr 0 dont_compile 0 cover_stmt 0
-Project_File_4 = ../inband/usrp/fpga/inband_lib/chan_fifo_reader.v
-Project_File_P_4 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177273481 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 6
cover_expr 0 dont_compile 0 cover_stmt 0
-Project_File_5 = ../inband/usrp/fpga/inband_lib/tx_buffer_inband.v
-Project_File_P_5 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177369489 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 4
dont_compile 0 cover_expr 0 cover_stmt 0
-Project_File_6 = ./chan_fifo_readers_test.v
-Project_File_P_6 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177273499 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 1
dont_compile 0 cover_expr 0 cover_stmt 0
-Project_File_7 = Z:/wc/simulations/fake_fx2_test.v
-Project_File_P_7 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177428969 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order
12 dont_compile 0 cover_expr 0 cover_stmt 0
-Project_File_8 = ./usb_packet_fifo_test.v
-Project_File_P_8 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177365360 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 0
cover_expr 0 dont_compile 0 cover_stmt 0
-Project_File_9 = ./tx_buffer_test.v
-Project_File_P_9 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177348942 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 3
cover_expr 0 dont_compile 0 cover_stmt 0
-Project_File_10 = ../inband/usrp/fpga/inband_lib/data_packet_fifo.v
-Project_File_P_10 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177366318 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 7
cover_expr 0 dont_compile 0 cover_stmt 0
-Project_File_11 = ../inband/usrp/fpga/inband_lib/usb_packet_fifo.v
-Project_File_P_11 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177365862 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 5
cover_expr 0 dont_compile 0 cover_stmt 0
-Project_File_12 = ../inband/usrp/fpga/sdr_lib/strobe_gen.v
-Project_File_P_12 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1175362687 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 9
dont_compile 0 cover_expr 0 cover_stmt 0
-Project_File_13 = ./usb_fifo_reader_test.v
-Project_File_P_13 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177272433 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 2
cover_expr 0 dont_compile 0 cover_stmt 0
+Project_File_P_0 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177269906 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 10
cover_expr 0 dont_compile 0 cover_stmt 0
+Project_File_1 = ./usb_packet_fifo2_test.v
+Project_File_P_1 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177530454 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 15
cover_expr 0 dont_compile 0 cover_stmt 0
+Project_File_2 = ./fake_fx2_test.v
+Project_File_P_2 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177428969 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 12
cover_expr 0 dont_compile 0 cover_stmt 0
+Project_File_3 = ./fake_fx2.v
+Project_File_P_3 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177517843 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 11
cover_expr 0 dont_compile 0 cover_stmt 0
+Project_File_4 = ../inband/usrp/fpga/inband_lib/usb_packet_fifo2.v
+Project_File_P_4 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177530505 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 14
cover_expr 0 dont_compile 0 cover_stmt 0
+Project_File_5 = ../inband/usrp/fpga/inband_lib/usb_fifo_reader.v
+Project_File_P_5 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177272423 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 8
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_6 = ../inband/usrp/fpga/inband_lib/chan_fifo_reader.v
+Project_File_P_6 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177273481 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 6
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_7 = ../inband/usrp/fpga/inband_lib/tx_buffer_inband.v
+Project_File_P_7 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177369489 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 4
cover_expr 0 dont_compile 0 cover_stmt 0
+Project_File_8 = ./chan_fifo_readers_test.v
+Project_File_P_8 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177273499 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 1
cover_expr 0 dont_compile 0 cover_stmt 0
+Project_File_9 = ./usb_packet_fifo_test.v
+Project_File_P_9 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177365360 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 0
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_10 = ../inband/usrp/fpga/inband_lib/usb_packet_fifo.v
+Project_File_P_10 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177365862 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 5
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_11 = ../inband/usrp/fpga/inband_lib/data_packet_fifo.v
+Project_File_P_11 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177366318 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 7
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_12 = ./tx_buffer_test.v
+Project_File_P_12 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177348942 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 3
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_13 = ../inband/usrp/fpga/sdr_lib/strobe_gen.v
+Project_File_P_13 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1175362687 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 9
cover_expr 0 dont_compile 0 cover_stmt 0
+Project_File_14 = ./usb_fifo_reader_test.v
+Project_File_P_14 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177272433 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 2
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_15 = ../inband/usrp/fpga/megacells/fifo_512.v
+Project_File_P_15 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top
Level} last_compile 1177531735 cover_branch 0 vlog_noload 0 vlog_enable0In 0
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order
13 dont_compile 0 cover_expr 0 cover_stmt 0
Project_Sim_Count = 0
Project_Folder_Count = 0
Echo_Compile_Output = 0
@@ -301,6 +305,6 @@
XML_CustomDoubleClick =
LOGFILE_DoubleClick = Edit
LOGFILE_CustomDoubleClick =
-EditorState = {tabbed horizontal 1}
{Z:/wc/inband/usrp/fpga/inband_lib/tx_buffer_inband.v 0 0}
{Z:/wc/simulations/fake_fx2.v 0 0} {Z:/wc/simulations/fake_fx2_test.v 0 0}
{Z:/wc/inband/usrp/fpga/sdr_lib/strobe_gen.v 0 0} {Z:/wc/usb_packet_fifo.v 0 1}
+EditorState = {tabbed horizontal 1}
{Z:/wc/inband/usrp/fpga/inband_lib/tx_buffer_inband.v 0 1}
Project_Major_Version = 6
Project_Minor_Version = 1
Added: gnuradio/branches/developers/thottelt/simulations/usb_packet_fifo2_test.v
===================================================================
--- gnuradio/branches/developers/thottelt/simulations/usb_packet_fifo2_test.v
(rev 0)
+++ gnuradio/branches/developers/thottelt/simulations/usb_packet_fifo2_test.v
2007-04-25 21:17:46 UTC (rev 5112)
@@ -0,0 +1,84 @@
+module usb_packet_fifo2_test();
+
+ //Inputs
+ reg reset ;
+ reg usb_clock ;
+ reg fpga_clock ;
+ reg skip_packet ;
+ reg write_enable ;
+ reg read_enable ;
+ reg [15:0]write_data ;
+
+ //Ouputs
+ wire [15:0]read_data ;
+ wire have_space ;
+ wire tx_empty ;
+ wire pkt_waiting ;
+
+ reg [15:0] i ;
+
+ usb_packet_fifo2 usb_fifo (
+ .reset (reset),
+ .usb_clock (usb_clock),
+ .fpga_clock (fpga_clock),
+ .have_space (have_space),
+ .pkt_waiting (pkt_waiting),
+ .tx_empty (tx_empty),
+ .write_enable (write_enable),
+ .skip_packet (skip_enable),
+ .read_data (read_data),
+ .write_data (write_data) ) ;
+
+ initial begin
+ reset = 1 ;
+ usb_clock = 0 ;
+ fpga_clock = 0 ;
+ skip_packet = 0 ;
+ write_enable = 0 ;
+ read_enable = 0 ;
+ i = 0 ;
+
+ // Deassert the reset
+ #40 reset = 1'b0 ;
+
+ // Wait a few clocks
+ repeat (5) begin
+ @(posedge usb_clock)
+ reset = 1'b0 ;
+ end
+
+ // Write an entire packets worth of data
+ // into the FIFO
+ repeat (256) begin
+ @(posedge usb_clock)
+ write_enable = 1'b1 ;
+ write_data = i ;
+ i = i + 1 ;
+ end
+ @(posedge usb_clock)
+ write_enable = 1'b0 ;
+
+ // Only read the first 10 bytes of data
+ repeat (10) begin
+ @(posedge fpga_clock)
+ read_enable = 1'b1 ;
+ end
+ @(posedge fpga_clock)
+ read_enable = 1'b0 ;
+
+ // Skip the rest of the packet
+ @(posedge fpga_clock)
+ skip_packet = 1'b1 ;
+ @(posedge fpga_clock)
+ skip_packet = 1'b0 ;
+
+ end
+
+
+ always
+ #5 usb_clock = ~usb_clock;
+
+ always
+ #2 fpga_clock = ~fpga_clock;
+
+endmodule
Property changes on:
gnuradio/branches/developers/thottelt/simulations/usb_packet_fifo2_test.v
___________________________________________________________________
Name: svn:executable
+ *
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r5112 - in gnuradio/branches/developers/thottelt: inband/usrp/fpga/inband_lib inband/usrp/fpga/megacells simulations,
thottelt <=