mirror of https://github.com/YosysHQ/yosys.git
Added a test for the Memory Content File inclusion using $readmemb
Signed-off-by: Rodrigo Alejandro Melo <rodrigomelo9@gmail.com>
This commit is contained in:
parent
b4c30cfc8d
commit
43396fae2c
|
@ -0,0 +1 @@
|
||||||
|
temp*
|
|
@ -0,0 +1,23 @@
|
||||||
|
// A memory initialized with an external file
|
||||||
|
|
||||||
|
module memory (
|
||||||
|
input clk_i,
|
||||||
|
input we_i,
|
||||||
|
input [5:0] addr_i,
|
||||||
|
input [31:0] data_i,
|
||||||
|
output reg [31:0] data_o
|
||||||
|
);
|
||||||
|
|
||||||
|
parameter MEMFILE = "";
|
||||||
|
|
||||||
|
reg [31:0] mem [0:63];
|
||||||
|
|
||||||
|
initial $readmemb(MEMFILE,mem);
|
||||||
|
|
||||||
|
always @(posedge clk_i) begin
|
||||||
|
if (we_i)
|
||||||
|
mem[addr_i] <= data_i;
|
||||||
|
data_o <= mem[addr_i];
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "* Creating Memory Content Files"
|
||||||
|
|
||||||
|
for i in {1..64}
|
||||||
|
do
|
||||||
|
echo "00001111000000001111111100000000" >> tempfile1.dat
|
||||||
|
done
|
||||||
|
|
||||||
|
mkdir -p temp
|
||||||
|
cp tempfile1.dat temp/tempfile2.dat
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo "* Running from the parent directory"
|
||||||
|
echo " * Memory Content File: tempfile1.dat"
|
||||||
|
../yosys -qp "read_verilog -defer memfile/memory.v; chparam -set MEMFILE \"tempfile1.dat\" memory; synth -top memory"
|
||||||
|
echo " * Memory Content File: temp/tempfile2.dat"
|
||||||
|
../yosys -qp "read_verilog -defer memfile/memory.v; chparam -set MEMFILE \"temp/tempfile2.dat\" memory; synth -top memory"
|
||||||
|
|
||||||
|
cd memfile
|
||||||
|
|
||||||
|
echo "* Running from the same directory"
|
||||||
|
echo " * Memory Content File: tempfile1.dat"
|
||||||
|
../../yosys -qp "read_verilog -defer memory.v; chparam -set MEMFILE \"tempfile1.dat\" memory; synth -top memory"
|
||||||
|
echo " * Memory Content File: temp/tempfile2.dat"
|
||||||
|
../../yosys -qp "read_verilog -defer memory.v; chparam -set MEMFILE \"temp/tempfile2.dat\" memory; synth -top memory"
|
||||||
|
|
||||||
|
cd temp
|
||||||
|
|
||||||
|
echo "* Running from a child directory"
|
||||||
|
echo " * Memory Content File: tempfile1.dat"
|
||||||
|
../../../yosys -qp "read_verilog -defer ../memory.v; chparam -set MEMFILE \"tempfile1.dat\" memory; synth -top memory"
|
||||||
|
echo " * Memory Content File: temp/tempfile2.dat"
|
||||||
|
../../../yosys -qp "read_verilog -defer ../memory.v; chparam -set MEMFILE \"temp/tempfile2.dat\" memory; synth -top memory"
|
||||||
|
echo " * Memory Content File: tempfile2.dat"
|
||||||
|
../../../yosys -qp "read_verilog -defer ../memory.v; chparam -set MEMFILE \"temp/tempfile2.dat\" memory; synth -top memory"
|
||||||
|
|
||||||
|
echo "* Done"
|
Loading…
Reference in New Issue