From bb12daa412a9ec0eefc3b12eb088910609167975 Mon Sep 17 00:00:00 2001
From: Matthieu Cattin <matthieu.cattin@cern.ch>
Date: Wed, 30 Oct 2013 14:32:14 +0100
Subject: [PATCH] genrams: Fix constants assigned to input ports ->
 incompatible with VHDL'93.

Replaced by a function taking the number of bits in parameter and returning a vector.
---
 modules/genrams/genram_pkg.vhd                  | 10 +++++++++-
 modules/genrams/xilinx/generic_simple_dpram.vhd |  7 ++++---
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/modules/genrams/genram_pkg.vhd b/modules/genrams/genram_pkg.vhd
index 9f3ecf8b..3fa5e6c9 100644
--- a/modules/genrams/genram_pkg.vhd
+++ b/modules/genrams/genram_pkg.vhd
@@ -6,7 +6,7 @@
 -- Author     : Tomasz Wlostowski
 -- Company    : CERN BE-CO-HT
 -- Created    : 2011-01-25
--- Last update: 2012-01-24
+-- Last update: 2013-10-30
 -- Platform   : 
 -- Standard   : VHDL'93
 -------------------------------------------------------------------------------
@@ -38,11 +38,13 @@
 
 library ieee;
 use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
 
 package genram_pkg is
 
   function f_log2_size (A       : natural) return natural;
   function f_gen_dummy_vec (val : std_logic; size : natural) return std_logic_vector;
+  function f_zeros (size : integer) return std_logic_vector;
 
   type t_generic_ram_init is array (integer range <>, integer range <>) of std_logic;
   
@@ -212,5 +214,11 @@ package body genram_pkg is
     return tmp;
   end f_gen_dummy_vec;
 
+  function f_zeros(size : integer)
+    return std_logic_vector is
+  begin
+    return std_logic_vector(to_unsigned(0, size));
+  end f_zeros;
+
 
 end genram_pkg;
diff --git a/modules/genrams/xilinx/generic_simple_dpram.vhd b/modules/genrams/xilinx/generic_simple_dpram.vhd
index 049b96c1..5eb14729 100644
--- a/modules/genrams/xilinx/generic_simple_dpram.vhd
+++ b/modules/genrams/xilinx/generic_simple_dpram.vhd
@@ -6,7 +6,7 @@
 -- Author     : Wesley W. Terpstra
 -- Company    : GSI
 -- Created    : 2013-03-04
--- Last update: 2013-03-04
+-- Last update: 2013-10-30
 -- Platform   : 
 -- Standard   : VHDL'93
 -------------------------------------------------------------------------------
@@ -70,6 +70,7 @@ end generic_simple_dpram;
 
 
 architecture syn of generic_simple_dpram is
+
 begin
 
   -- Works well enough until a Xilinx guru can optimize it.
@@ -90,10 +91,10 @@ begin
       da_i    => da_i,
       qa_o    => open,
       clkb_i  => clkb_i,
-      bweb_i  => (others => '0'),
+      bweb_i  => f_zeros((g_data_width+7)/8),
       web_i   => '0',
       ab_i    => ab_i,
-      db_i    => (others => '0'),
+      db_i    => f_zeros(g_data_width),
       qb_o    => qb_o);
 
 end syn;
-- 
GitLab