Commit a500d197 authored by Andrey Filippov's avatar Andrey Filippov

Finished simulation/testing of a single-channel...

Finished simulation/testing of a single-channel acquisition/processing/compression, fixed problems with Xilinx tools to pass sythesis/implementation
parent df351507
...@@ -62,42 +62,42 @@ ...@@ -62,42 +62,42 @@
<link> <link>
<name>vivado_logs/VivadoBitstream.log</name> <name>vivado_logs/VivadoBitstream.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoBitstream-20150723191855730.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoBitstream-20150818191452916.log</location>
</link> </link>
<link> <link>
<name>vivado_logs/VivadoOpt.log</name> <name>vivado_logs/VivadoOpt.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoOpt-20150723191855730.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoOpt-20150818190618667.log</location>
</link> </link>
<link> <link>
<name>vivado_logs/VivadoOptPhys.log</name> <name>vivado_logs/VivadoOptPhys.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoOptPhys-20150723191855730.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoOptPhys-20150818191452916.log</location>
</link> </link>
<link> <link>
<name>vivado_logs/VivadoOptPower.log</name> <name>vivado_logs/VivadoOptPower.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoOptPower-20150723191855730.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoOptPower-20150818190618667.log</location>
</link> </link>
<link> <link>
<name>vivado_logs/VivadoPlace.log</name> <name>vivado_logs/VivadoPlace.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoPlace-20150723191855730.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoPlace-20150818190618667.log</location>
</link> </link>
<link> <link>
<name>vivado_logs/VivadoRoute.log</name> <name>vivado_logs/VivadoRoute.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoRoute-20150723191855730.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoRoute-20150818191452916.log</location>
</link> </link>
<link> <link>
<name>vivado_logs/VivadoSynthesis.log</name> <name>vivado_logs/VivadoSynthesis.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoSynthesis-20150725144518149.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoSynthesis-20150818185615292.log</location>
</link> </link>
<link> <link>
<name>vivado_logs/VivadoTimimgSummaryReportImplemented.log</name> <name>vivado_logs/VivadoTimimgSummaryReportImplemented.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoTimimgSummaryReportImplemented-20150723191855730.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoTimimgSummaryReportImplemented-20150818191452916.log</location>
</link> </link>
<link> <link>
<name>vivado_logs/VivadoTimimgSummaryReportSynthesis.log</name> <name>vivado_logs/VivadoTimimgSummaryReportSynthesis.log</name>
...@@ -107,32 +107,32 @@ ...@@ -107,32 +107,32 @@
<link> <link>
<name>vivado_logs/VivadoTimingReportImplemented.log</name> <name>vivado_logs/VivadoTimingReportImplemented.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoTimingReportImplemented-20150723191855730.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoTimingReportImplemented-20150818191452916.log</location>
</link> </link>
<link> <link>
<name>vivado_logs/VivadoTimingReportSynthesis.log</name> <name>vivado_logs/VivadoTimingReportSynthesis.log</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_logs/VivadoTimingReportSynthesis-20150725144518149.log</location> <location>/home/andrey/git/x393/vivado_logs/VivadoTimingReportSynthesis-20150818185615292.log</location>
</link> </link>
<link> <link>
<name>vivado_state/x393-opt-phys.dcp</name> <name>vivado_state/x393-opt-phys.dcp</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_state/x393-opt-phys-20150723191855730.dcp</location> <location>/home/andrey/git/x393/vivado_state/x393-opt-phys-20150818191452916.dcp</location>
</link> </link>
<link> <link>
<name>vivado_state/x393-place.dcp</name> <name>vivado_state/x393-place.dcp</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_state/x393-place-20150723191855730.dcp</location> <location>/home/andrey/git/x393/vivado_state/x393-place-20150818190618667.dcp</location>
</link> </link>
<link> <link>
<name>vivado_state/x393-route.dcp</name> <name>vivado_state/x393-route.dcp</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_state/x393-route-20150723191855730.dcp</location> <location>/home/andrey/git/x393/vivado_state/x393-route-20150818191452916.dcp</location>
</link> </link>
<link> <link>
<name>vivado_state/x393-synth.dcp</name> <name>vivado_state/x393-synth.dcp</name>
<type>1</type> <type>1</type>
<location>/home/andrey/git/x393/vivado_state/x393-synth-20150725144518149.dcp</location> <location>/home/andrey/git/x393/vivado_state/x393-synth-20150818185615292.dcp</location>
</link> </link>
</linkedResources> </linkedResources>
</projectDescription> </projectDescription>
VivadoSynthesis_101_MaxMsg=10000 VivadoSynthesis_101_MaxMsg=10000
VivadoSynthesis_102_ConstraintsFiles=x393.xdc<-@\#\#@->x393_timing.xdc<-@\#\#@-> VivadoSynthesis_102_ConstraintsFiles=x393.xdc<-@\#\#@->x393_timing.xdc<-@\#\#@->
VivadoSynthesis_115_flatten_hierarchy=none VivadoSynthesis_115_flatten_hierarchy=none
VivadoSynthesis_121_ConstraintsFiles=x393.xdc<-@\#\#@->x393_timing.xdc<-@\#\#@->
VivadoSynthesis_127_verbose=true VivadoSynthesis_127_verbose=true
VivadoSynthesis_81_parser_mode=1 VivadoSynthesis_81_parser_mode=1
VivadoSynthesis_93_OtherProblems=Netlist 29-345<-@\#\#@->Board 49-26<-@\#\#@->Synth 8-638<-@\#\#@->Synth 8-256<-@\#\#@-> VivadoSynthesis_93_OtherProblems=Netlist 29-345<-@\#\#@->Board 49-26<-@\#\#@->Synth 8-638<-@\#\#@->Synth 8-256<-@\#\#@->
VivadoSynthesis_95_ShowInfo=true VivadoSynthesis_95_ShowInfo=true
com.elphel.store.context.VivadoSynthesis=VivadoSynthesis_102_ConstraintsFiles<-@\#\#@->VivadoSynthesis_95_ShowInfo<-@\#\#@->VivadoSynthesis_115_flatten_hierarchy<-@\#\#@->VivadoSynthesis_101_MaxMsg<-@\#\#@->VivadoSynthesis_127_verbose<-@\#\#@->VivadoSynthesis_93_OtherProblems<-@\#\#@->VivadoSynthesis_81_parser_mode<-@\#\#@-> com.elphel.store.context.VivadoSynthesis=VivadoSynthesis_102_ConstraintsFiles<-@\#\#@->VivadoSynthesis_95_ShowInfo<-@\#\#@->VivadoSynthesis_115_flatten_hierarchy<-@\#\#@->VivadoSynthesis_101_MaxMsg<-@\#\#@->VivadoSynthesis_127_verbose<-@\#\#@->VivadoSynthesis_93_OtherProblems<-@\#\#@->VivadoSynthesis_81_parser_mode<-@\#\#@->VivadoSynthesis_121_ConstraintsFiles<-@\#\#@->
eclipse.preferences.version=1 eclipse.preferences.version=1
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
** -----------------------------------------------------------------------------** ** -----------------------------------------------------------------------------**
** **
*/ */
`include "system_defines.vh"
`timescale 1ns/1ps `timescale 1ns/1ps
//TODO: Modify to work with other modes (now only on color) //TODO: Modify to work with other modes (now only on color)
module focus_sharp393( module focus_sharp393(
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
** -----------------------------------------------------------------------------** ** -----------------------------------------------------------------------------**
** **
*/ */
`include "system_defines.vh"
// 01/22/2004 - extended flush until ready (modified stuffer.v too) // 01/22/2004 - extended flush until ready (modified stuffer.v too)
module huffman393 ( module huffman393 (
input xclk, // pixel clock, sync to incoming data input xclk, // pixel clock, sync to incoming data
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
** -----------------------------------------------------------------------------** ** -----------------------------------------------------------------------------**
** **
*/ */
`include "system_defines.vh"
`timescale 1ns/1ps `timescale 1ns/1ps
// will add extracted DC (8 bits) to data from DCT here that will make data 12 bits (signed) long. // will add extracted DC (8 bits) to data from DCT here that will make data 12 bits (signed) long.
......
This diff is collapsed.
This diff is collapsed.
...@@ -26,6 +26,7 @@ module byte_lane #( ...@@ -26,6 +26,7 @@ module byte_lane #(
parameter IODELAY_GRP ="IODELAY_MEMORY", parameter IODELAY_GRP ="IODELAY_MEMORY",
parameter IBUF_LOW_PWR ="TRUE", parameter IBUF_LOW_PWR ="TRUE",
parameter IOSTANDARD_DQ = "SSTL15_T_DCI", parameter IOSTANDARD_DQ = "SSTL15_T_DCI",
parameter IOSTANDARD_DM = "SSTL15",
parameter IOSTANDARD_DQS = "DIFF_SSTL15_T_DCI", parameter IOSTANDARD_DQS = "DIFF_SSTL15_T_DCI",
parameter SLEW_DQ = "SLOW", parameter SLEW_DQ = "SLOW",
parameter SLEW_DQS = "SLOW", parameter SLEW_DQS = "SLOW",
...@@ -139,7 +140,7 @@ endgenerate ...@@ -139,7 +140,7 @@ endgenerate
dm_single #( dm_single #(
.IODELAY_GRP(IODELAY_GRP), .IODELAY_GRP(IODELAY_GRP),
.IBUF_LOW_PWR(IBUF_LOW_PWR), .IBUF_LOW_PWR(IBUF_LOW_PWR),
.IOSTANDARD(IOSTANDARD_DQ), .IOSTANDARD(IOSTANDARD_DM),
.SLEW(SLEW_DQ), .SLEW(SLEW_DQ),
.REFCLK_FREQUENCY(REFCLK_FREQUENCY), .REFCLK_FREQUENCY(REFCLK_FREQUENCY),
.HIGH_PERFORMANCE_MODE(HIGH_PERFORMANCE_MODE) .HIGH_PERFORMANCE_MODE(HIGH_PERFORMANCE_MODE)
......
...@@ -27,7 +27,7 @@ module dm_single #( ...@@ -27,7 +27,7 @@ module dm_single #(
// parameter integer IDELAY_VALUE = 0, // parameter integer IDELAY_VALUE = 0,
parameter integer ODELAY_VALUE = 0, parameter integer ODELAY_VALUE = 0,
parameter IBUF_LOW_PWR ="TRUE", //SuppressThisWarning VEditor not used in OBUF_DCIEN parameter IBUF_LOW_PWR ="TRUE", //SuppressThisWarning VEditor not used in OBUF_DCIEN
parameter IOSTANDARD = "SSTL15_T_DCI", parameter IOSTANDARD = "SSTL15",
parameter SLEW = "SLOW", parameter SLEW = "SLOW",
parameter real REFCLK_FREQUENCY = 300.0, parameter real REFCLK_FREQUENCY = 300.0,
parameter HIGH_PERFORMANCE_MODE = "FALSE" parameter HIGH_PERFORMANCE_MODE = "FALSE"
......
...@@ -359,6 +359,7 @@ module phy_cmd#( ...@@ -359,6 +359,7 @@ module phy_cmd#(
phy_top #( phy_top #(
.IOSTANDARD_DQ ("SSTL15_T_DCI"), .IOSTANDARD_DQ ("SSTL15_T_DCI"),
.IOSTANDARD_DM ("SSTL15"),
.IOSTANDARD_DQS ("DIFF_SSTL15_T_DCI"), .IOSTANDARD_DQS ("DIFF_SSTL15_T_DCI"),
.IOSTANDARD_CMDA ("SSTL15"), .IOSTANDARD_CMDA ("SSTL15"),
.IOSTANDARD_CLK ("DIFF_SSTL15"), .IOSTANDARD_CLK ("DIFF_SSTL15"),
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
module phy_top #( module phy_top #(
parameter IOSTANDARD_DQ = "SSTL15_T_DCI", parameter IOSTANDARD_DQ = "SSTL15_T_DCI",
parameter IOSTANDARD_DM = "SSTL15",
parameter IOSTANDARD_DQS = "DIFF_SSTL15_T_DCI", parameter IOSTANDARD_DQS = "DIFF_SSTL15_T_DCI",
parameter IOSTANDARD_CMDA = "SSTL15", parameter IOSTANDARD_CMDA = "SSTL15",
parameter IOSTANDARD_CLK = "DIFF_SSTL15", parameter IOSTANDARD_CLK = "DIFF_SSTL15",
...@@ -226,6 +227,7 @@ module phy_top #( ...@@ -226,6 +227,7 @@ module phy_top #(
.IODELAY_GRP (IODELAY_GRP), .IODELAY_GRP (IODELAY_GRP),
.IBUF_LOW_PWR (IBUF_LOW_PWR), .IBUF_LOW_PWR (IBUF_LOW_PWR),
.IOSTANDARD_DQ (IOSTANDARD_DQ), .IOSTANDARD_DQ (IOSTANDARD_DQ),
.IOSTANDARD_DM (IOSTANDARD_DM),
.IOSTANDARD_DQS (IOSTANDARD_DQS), .IOSTANDARD_DQS (IOSTANDARD_DQS),
.SLEW_DQ (SLEW_DQ), .SLEW_DQ (SLEW_DQ),
.SLEW_DQS (SLEW_DQS), .SLEW_DQS (SLEW_DQS),
...@@ -258,6 +260,7 @@ module phy_top #( ...@@ -258,6 +260,7 @@ module phy_top #(
.IODELAY_GRP (IODELAY_GRP), .IODELAY_GRP (IODELAY_GRP),
.IBUF_LOW_PWR (IBUF_LOW_PWR), .IBUF_LOW_PWR (IBUF_LOW_PWR),
.IOSTANDARD_DQ (IOSTANDARD_DQ), .IOSTANDARD_DQ (IOSTANDARD_DQ),
.IOSTANDARD_DM (IOSTANDARD_DM),
.IOSTANDARD_DQS (IOSTANDARD_DQS), .IOSTANDARD_DQS (IOSTANDARD_DQS),
.SLEW_DQ (SLEW_DQ), .SLEW_DQ (SLEW_DQ),
.SLEW_DQS (SLEW_DQS), .SLEW_DQS (SLEW_DQS),
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/> . * along with this program. If not, see <http://www.gnu.org/licenses/> .
*******************************************************************************/ *******************************************************************************/
`timescale 1ns/1ps `timescale 1ns/1ps
`include "system_defines.vh"
// TODO - Add registers to MPY // TODO - Add registers to MPY
module sens_gamma #( module sens_gamma #(
parameter SENS_NUM_SUBCHN = 3, // number of subchannels for his sensor ports (1..4) parameter SENS_NUM_SUBCHN = 3, // number of subchannels for his sensor ports (1..4)
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/> . * along with this program. If not, see <http://www.gnu.org/licenses/> .
*******************************************************************************/ *******************************************************************************/
`timescale 1ns/1ps `timescale 1ns/1ps
`include "system_defines.vh"
/* /*
Address/data widths Address/data widths
...@@ -81,6 +82,11 @@ module ram18_var_w_var_r ...@@ -81,6 +82,11 @@ module ram18_var_w_var_r
parameter integer LOG2WIDTH_WR = 5, // WIDTH= 9 << (LOG2WIDTH - 3) parameter integer LOG2WIDTH_WR = 5, // WIDTH= 9 << (LOG2WIDTH - 3)
parameter integer LOG2WIDTH_RD = 5, // WIDTH= 9 << (LOG2WIDTH - 3) parameter integer LOG2WIDTH_RD = 5, // WIDTH= 9 << (LOG2WIDTH - 3)
parameter DUMMY = 0 parameter DUMMY = 0
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -96,9 +102,6 @@ module ram18_var_w_var_r ...@@ -96,9 +102,6 @@ module ram18_var_w_var_r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [(1 << LOG2WIDTH_WR)-1:0] data_in // data out input [(1 << LOG2WIDTH_WR)-1:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
generate generate
if (DUMMY) if (DUMMY)
ram18_dummy #( ram18_dummy #(
...@@ -190,6 +193,11 @@ endmodule ...@@ -190,6 +193,11 @@ endmodule
module ram18_32w_32r module ram18_32w_32r
#( #(
parameter integer REGISTERS = 0 // 1 - registered output parameter integer REGISTERS = 0 // 1 - registered output
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -204,9 +212,6 @@ module ram18_32w_32r ...@@ -204,9 +212,6 @@ module ram18_32w_32r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [31:0] data_in // data out input [31:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
localparam PWIDTH_WR=36; localparam PWIDTH_WR=36;
localparam PWIDTH_RD=36; localparam PWIDTH_RD=36;
...@@ -267,6 +272,10 @@ module ram18_lt32w_lt32r ...@@ -267,6 +272,10 @@ module ram18_lt32w_lt32r
parameter integer REGISTERS = 0, // 1 - registered output parameter integer REGISTERS = 0, // 1 - registered output
parameter integer LOG2WIDTH_WR = 4, // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_WR = 4, // WIDTH= 1 << LOG2WIDTH
parameter integer LOG2WIDTH_RD = 4 // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_RD = 4 // WIDTH= 1 << LOG2WIDTH
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -281,9 +290,6 @@ module ram18_lt32w_lt32r ...@@ -281,9 +290,6 @@ module ram18_lt32w_lt32r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [(1 << LOG2WIDTH_WR)-1:0] data_in // data out input [(1 << LOG2WIDTH_WR)-1:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR); localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR);
localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD); localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD);
localparam WIDTH_WR = 1 << LOG2WIDTH_WR; localparam WIDTH_WR = 1 << LOG2WIDTH_WR;
...@@ -350,6 +356,10 @@ module ram18_lt32w_32r ...@@ -350,6 +356,10 @@ module ram18_lt32w_32r
#( #(
parameter integer REGISTERS = 0, // 1 - registered output parameter integer REGISTERS = 0, // 1 - registered output
parameter integer LOG2WIDTH_WR = 4 // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_WR = 4 // WIDTH= 1 << LOG2WIDTH
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -364,9 +374,6 @@ module ram18_lt32w_32r ...@@ -364,9 +374,6 @@ module ram18_lt32w_32r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [(1 << LOG2WIDTH_WR)-1:0] data_in // data out input [(1 << LOG2WIDTH_WR)-1:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR); localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR);
localparam PWIDTH_RD = 36; localparam PWIDTH_RD = 36;
localparam WIDTH_WR = 1 << LOG2WIDTH_WR; localparam WIDTH_WR = 1 << LOG2WIDTH_WR;
...@@ -430,6 +437,10 @@ module ram18_32w_lt32r ...@@ -430,6 +437,10 @@ module ram18_32w_lt32r
parameter integer REGISTERS = 0, // 1 - registered output parameter integer REGISTERS = 0, // 1 - registered output
// parameter integer LOG2WIDTH_WR = 4, // WIDTH= 1 << LOG2WIDTH // parameter integer LOG2WIDTH_WR = 4, // WIDTH= 1 << LOG2WIDTH
parameter integer LOG2WIDTH_RD = 4 // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_RD = 4 // WIDTH= 1 << LOG2WIDTH
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -444,9 +455,6 @@ module ram18_32w_lt32r ...@@ -444,9 +455,6 @@ module ram18_32w_lt32r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [31:0] data_in // data out input [31:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
localparam PWIDTH_WR = 36; localparam PWIDTH_WR = 36;
localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD); localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD);
localparam WIDTH_RD = 1 << LOG2WIDTH_RD; localparam WIDTH_RD = 1 << LOG2WIDTH_RD;
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*******************************************************************************/ *******************************************************************************/
`include "system_defines.vh"
/* /*
Address/data widths Address/data widths
Connect unused data to 1b0, unused addresses - to 1'b1 Connect unused data to 1b0, unused addresses - to 1'b1
...@@ -77,6 +78,10 @@ module ram18p_var_w_var_r ...@@ -77,6 +78,10 @@ module ram18p_var_w_var_r
parameter integer LOG2WIDTH_WR = 5, // WIDTH= 9 << (LOG2WIDTH - 3) parameter integer LOG2WIDTH_WR = 5, // WIDTH= 9 << (LOG2WIDTH - 3)
parameter integer LOG2WIDTH_RD = 5, // WIDTH= 9 << (LOG2WIDTH - 3) parameter integer LOG2WIDTH_RD = 5, // WIDTH= 9 << (LOG2WIDTH - 3)
parameter DUMMY = 0 parameter DUMMY = 0
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -92,9 +97,6 @@ module ram18p_var_w_var_r ...@@ -92,9 +97,6 @@ module ram18p_var_w_var_r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
generate generate
if (DUMMY) if (DUMMY)
ram18p_dummy #( ram18p_dummy #(
...@@ -186,6 +188,10 @@ endmodule ...@@ -186,6 +188,10 @@ endmodule
module ram18p_32w_32r module ram18p_32w_32r
#( #(
parameter integer REGISTERS = 0 // 1 - registered output parameter integer REGISTERS = 0 // 1 - registered output
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -200,9 +206,6 @@ module ram18p_32w_32r ...@@ -200,9 +206,6 @@ module ram18p_32w_32r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [35:0] data_in // data out input [35:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
localparam PWIDTH_WR=72; localparam PWIDTH_WR=72;
localparam PWIDTH_RD=72; localparam PWIDTH_RD=72;
...@@ -263,6 +266,10 @@ module ram18p_lt32w_lt32r ...@@ -263,6 +266,10 @@ module ram18p_lt32w_lt32r
parameter integer REGISTERS = 0, // 1 - registered output parameter integer REGISTERS = 0, // 1 - registered output
parameter integer LOG2WIDTH_WR = 4, // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_WR = 4, // WIDTH= 1 << LOG2WIDTH
parameter integer LOG2WIDTH_RD = 4 // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_RD = 4 // WIDTH= 1 << LOG2WIDTH
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -277,9 +284,6 @@ module ram18p_lt32w_lt32r ...@@ -277,9 +284,6 @@ module ram18p_lt32w_lt32r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR); localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR);
localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD); localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD);
localparam WIDTH_WR = 1 << LOG2WIDTH_WR; localparam WIDTH_WR = 1 << LOG2WIDTH_WR;
...@@ -351,6 +355,10 @@ module ram18p_lt32w_32r ...@@ -351,6 +355,10 @@ module ram18p_lt32w_32r
#( #(
parameter integer REGISTERS = 0, // 1 - registered output parameter integer REGISTERS = 0, // 1 - registered output
parameter integer LOG2WIDTH_WR = 4 // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_WR = 4 // WIDTH= 1 << LOG2WIDTH
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -365,9 +373,6 @@ module ram18p_lt32w_32r ...@@ -365,9 +373,6 @@ module ram18p_lt32w_32r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR); localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR);
localparam PWIDTH_RD = 36; localparam PWIDTH_RD = 36;
...@@ -436,6 +441,10 @@ module ram18p_32w_lt32r ...@@ -436,6 +441,10 @@ module ram18p_32w_lt32r
parameter integer REGISTERS = 0, // 1 - registered output parameter integer REGISTERS = 0, // 1 - registered output
// parameter integer LOG2WIDTH_WR = 4, // WIDTH= 1 << LOG2WIDTH // parameter integer LOG2WIDTH_WR = 4, // WIDTH= 1 << LOG2WIDTH
parameter integer LOG2WIDTH_RD = 4 // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_RD = 4 // WIDTH= 1 << LOG2WIDTH
`ifdef PRELOAD_BRAMS
,
`include "includes/ram18_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -450,9 +459,6 @@ module ram18p_32w_lt32r ...@@ -450,9 +459,6 @@ module ram18p_32w_lt32r
input [ 3:0] web, // write byte enable input [ 3:0] web, // write byte enable
input [35:0] data_in // data out input [35:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram18_declare_init.vh"
`endif
localparam PWIDTH_WR = 72; localparam PWIDTH_WR = 72;
localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD); localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD);
localparam WIDTH_RD = 1 << LOG2WIDTH_RD; localparam WIDTH_RD = 1 << LOG2WIDTH_RD;
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*******************************************************************************/ *******************************************************************************/
`include "system_defines.vh"
/* /*
Address/data widths Address/data widths
Connect unused data to 1b0, unused addresses - to 1'b1 Connect unused data to 1b0, unused addresses - to 1'b1
...@@ -77,6 +78,10 @@ module ramp_var_w_var_r ...@@ -77,6 +78,10 @@ module ramp_var_w_var_r
parameter integer LOG2WIDTH_WR = 6, // WIDTH= 9 << (LOG2WIDTH - 3) parameter integer LOG2WIDTH_WR = 6, // WIDTH= 9 << (LOG2WIDTH - 3)
parameter integer LOG2WIDTH_RD = 6, // WIDTH= 9 << (LOG2WIDTH - 3) parameter integer LOG2WIDTH_RD = 6, // WIDTH= 9 << (LOG2WIDTH - 3)
parameter DUMMY = 0 parameter DUMMY = 0
`ifdef PRELOAD_BRAMS
,
`include "includes/ram36_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -92,10 +97,6 @@ module ramp_var_w_var_r ...@@ -92,10 +97,6 @@ module ramp_var_w_var_r
input [ 7:0] web, // write byte enable input [ 7:0] web, // write byte enable
input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram36_declare_init.vh"
`endif
generate generate
if (DUMMY) if (DUMMY)
ramp_dummy #( ramp_dummy #(
...@@ -186,6 +187,10 @@ endmodule ...@@ -186,6 +187,10 @@ endmodule
module ramp_64w_64r module ramp_64w_64r
#( #(
parameter integer REGISTERS = 0 // 1 - registered output parameter integer REGISTERS = 0 // 1 - registered output
`ifdef PRELOAD_BRAMS
,
`include "includes/ram36_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -200,9 +205,6 @@ module ramp_64w_64r ...@@ -200,9 +205,6 @@ module ramp_64w_64r
input [ 7:0] web, // write byte enable input [ 7:0] web, // write byte enable
input [71:0] data_in // data out input [71:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram36_declare_init.vh"
`endif
localparam PWIDTH_WR=72; localparam PWIDTH_WR=72;
localparam PWIDTH_RD=72; localparam PWIDTH_RD=72;
...@@ -280,6 +282,10 @@ module ramp_lt64w_lt64r ...@@ -280,6 +282,10 @@ module ramp_lt64w_lt64r
parameter integer REGISTERS = 0, // 1 - registered output parameter integer REGISTERS = 0, // 1 - registered output
parameter integer LOG2WIDTH_WR = 5, // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_WR = 5, // WIDTH= 1 << LOG2WIDTH
parameter integer LOG2WIDTH_RD = 5 // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_RD = 5 // WIDTH= 1 << LOG2WIDTH
`ifdef PRELOAD_BRAMS
,
`include "includes/ram36_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -295,9 +301,6 @@ module ramp_lt64w_lt64r ...@@ -295,9 +301,6 @@ module ramp_lt64w_lt64r
input [ 7:0] web, // write byte enable input [ 7:0] web, // write byte enable
input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram36_declare_init.vh"
`endif
localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR); localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR);
localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD); localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD);
...@@ -402,6 +405,10 @@ module ramp_lt64w_64r ...@@ -402,6 +405,10 @@ module ramp_lt64w_64r
#( #(
parameter integer REGISTERS = 0, // 1 - registered output parameter integer REGISTERS = 0, // 1 - registered output
parameter integer LOG2WIDTH_WR = 5 // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_WR = 5 // WIDTH= 1 << LOG2WIDTH
`ifdef PRELOAD_BRAMS
,
`include "includes/ram36_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -417,9 +424,6 @@ module ramp_lt64w_64r ...@@ -417,9 +424,6 @@ module ramp_lt64w_64r
input [ 7:0] web, // write byte enable input [ 7:0] web, // write byte enable
input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out input [(9 << (LOG2WIDTH_WR-3))-1:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram36_declare_init.vh"
`endif
localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR); localparam PWIDTH_WR = (LOG2WIDTH_WR > 2)? (9 << (LOG2WIDTH_WR - 3)): (1 << LOG2WIDTH_WR);
localparam PWIDTH_RD = 72; localparam PWIDTH_RD = 72;
localparam WIDTH_WR = 1 << LOG2WIDTH_WR; localparam WIDTH_WR = 1 << LOG2WIDTH_WR;
...@@ -504,6 +508,10 @@ module ramp_64w_lt64r ...@@ -504,6 +508,10 @@ module ramp_64w_lt64r
parameter integer REGISTERS = 0, // 1 - registered output parameter integer REGISTERS = 0, // 1 - registered output
// parameter integer LOG2WIDTH_WR = 5, // WIDTH= 1 << LOG2WIDTH // parameter integer LOG2WIDTH_WR = 5, // WIDTH= 1 << LOG2WIDTH
parameter integer LOG2WIDTH_RD = 5 // WIDTH= 1 << LOG2WIDTH parameter integer LOG2WIDTH_RD = 5 // WIDTH= 1 << LOG2WIDTH
`ifdef PRELOAD_BRAMS
,
`include "includes/ram36_declare_init.vh"
`endif
) )
( (
input rclk, // clock for read port input rclk, // clock for read port
...@@ -518,9 +526,6 @@ module ramp_64w_lt64r ...@@ -518,9 +526,6 @@ module ramp_64w_lt64r
input [ 7:0] web, // write byte enable input [ 7:0] web, // write byte enable
input [71:0] data_in // data out input [71:0] data_in // data out
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram36_declare_init.vh"
`endif
localparam PWIDTH_WR = 72; localparam PWIDTH_WR = 72;
localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD); localparam PWIDTH_RD = (LOG2WIDTH_RD > 2)? (9 << (LOG2WIDTH_RD - 3)): (1 << LOG2WIDTH_RD);
localparam WIDTH_RD = 1 << LOG2WIDTH_RD; localparam WIDTH_RD = 1 << LOG2WIDTH_RD;
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/> . * along with this program. If not, see <http://www.gnu.org/licenses/> .
*******************************************************************************/ *******************************************************************************/
`timescale 1ns/1ps `timescale 1ns/1ps
`include "system_defines.vh"
/* /*
Address/data widths Address/data widths
Connect unused data to 1b0, unused addresses - to 1'b1 Connect unused data to 1b0, unused addresses - to 1'b1
...@@ -85,6 +86,10 @@ module ramt_var_w_var_r ...@@ -85,6 +86,10 @@ module ramt_var_w_var_r
parameter integer LOG2WIDTH_B = 5, // WIDTH= 9 << (LOG2WIDTH - 3) parameter integer LOG2WIDTH_B = 5, // WIDTH= 9 << (LOG2WIDTH - 3)
parameter WRITE_MODE_A = "NO_CHANGE", //Valid: "WRITE_FIRST", "READ_FIRST", "NO_CHANGE" parameter WRITE_MODE_A = "NO_CHANGE", //Valid: "WRITE_FIRST", "READ_FIRST", "NO_CHANGE"
parameter WRITE_MODE_B = "NO_CHANGE" //Valid: "WRITE_FIRST", "READ_FIRST", "NO_CHANGE" parameter WRITE_MODE_B = "NO_CHANGE" //Valid: "WRITE_FIRST", "READ_FIRST", "NO_CHANGE"
`ifdef PRELOAD_BRAMS
,
`include "includes/ram36_declare_init.vh"
`endif
)( )(
input clk_a, // clock for port A input clk_a, // clock for port A
input [14-LOG2WIDTH_A:0] addr_a, // address port A input [14-LOG2WIDTH_A:0] addr_a, // address port A
...@@ -102,9 +107,6 @@ module ramt_var_w_var_r ...@@ -102,9 +107,6 @@ module ramt_var_w_var_r
output [(1 << LOG2WIDTH_B)-1:0] data_out_b,// data out port B output [(1 << LOG2WIDTH_B)-1:0] data_out_b,// data out port B
input [(1 << LOG2WIDTH_B)-1:0] data_in_b // data in port B input [(1 << LOG2WIDTH_B)-1:0] data_in_b // data in port B
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram36_declare_init.vh"
`endif
localparam PWIDTH_A = (LOG2WIDTH_A > 2)? (9 << (LOG2WIDTH_A - 3)): (1 << LOG2WIDTH_A); localparam PWIDTH_A = (LOG2WIDTH_A > 2)? (9 << (LOG2WIDTH_A - 3)): (1 << LOG2WIDTH_A);
localparam PWIDTH_B = (LOG2WIDTH_B > 2)? (9 << (LOG2WIDTH_B - 3)): (1 << LOG2WIDTH_B); localparam PWIDTH_B = (LOG2WIDTH_B > 2)? (9 << (LOG2WIDTH_B - 3)): (1 << LOG2WIDTH_B);
localparam WIDTH_A = 1 << LOG2WIDTH_A; localparam WIDTH_A = 1 << LOG2WIDTH_A;
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/> . * along with this program. If not, see <http://www.gnu.org/licenses/> .
*******************************************************************************/ *******************************************************************************/
`timescale 1ns/1ps `timescale 1ns/1ps
`include "system_defines.vh"
/* /*
Address/data widths Address/data widths
Connect unused data to 1b0, unused addresses - to 1'b1 Connect unused data to 1b0, unused addresses - to 1'b1
...@@ -85,6 +86,10 @@ module ramtp_var_w_var_r ...@@ -85,6 +86,10 @@ module ramtp_var_w_var_r
parameter integer LOG2WIDTH_B = 5, // WIDTH= 9 << (LOG2WIDTH - 3) parameter integer LOG2WIDTH_B = 5, // WIDTH= 9 << (LOG2WIDTH - 3)
parameter WRITE_MODE_A = "NO_CHANGE", //Valid: "WRITE_FIRST", "READ_FIRST", "NO_CHANGE" parameter WRITE_MODE_A = "NO_CHANGE", //Valid: "WRITE_FIRST", "READ_FIRST", "NO_CHANGE"
parameter WRITE_MODE_B = "NO_CHANGE" //Valid: "WRITE_FIRST", "READ_FIRST", "NO_CHANGE" parameter WRITE_MODE_B = "NO_CHANGE" //Valid: "WRITE_FIRST", "READ_FIRST", "NO_CHANGE"
`ifdef PRELOAD_BRAMS
,
`include "includes/ram36_declare_init.vh"
`endif
)( )(
input clk_a, // clock for port A input clk_a, // clock for port A
input [14-LOG2WIDTH_A:0] addr_a, // address port A input [14-LOG2WIDTH_A:0] addr_a, // address port A
...@@ -102,9 +107,6 @@ module ramtp_var_w_var_r ...@@ -102,9 +107,6 @@ module ramtp_var_w_var_r
output [(9 << (LOG2WIDTH_B-3))-1:0] data_out_b,// data out port B output [(9 << (LOG2WIDTH_B-3))-1:0] data_out_b,// data out port B
input [(9 << (LOG2WIDTH_B-3))-1:0] data_in_b // data in port B input [(9 << (LOG2WIDTH_B-3))-1:0] data_in_b // data in port B
); );
`ifdef PRELOAD_BRAMS
`include "includes/ram36_declare_init.vh"
`endif
localparam PWIDTH_A = (LOG2WIDTH_A > 2)? (9 << (LOG2WIDTH_A - 3)): (1 << LOG2WIDTH_A); localparam PWIDTH_A = (LOG2WIDTH_A > 2)? (9 << (LOG2WIDTH_A - 3)): (1 << LOG2WIDTH_A);
localparam PWIDTH_B = (LOG2WIDTH_B > 2)? (9 << (LOG2WIDTH_B - 3)): (1 << LOG2WIDTH_B); localparam PWIDTH_B = (LOG2WIDTH_B > 2)? (9 << (LOG2WIDTH_B - 3)): (1 << LOG2WIDTH_B);
localparam WIDTH_A = 1 << LOG2WIDTH_A; localparam WIDTH_A = 1 << LOG2WIDTH_A;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment