mirror of
https://github.com/retroSoC/retroSoC.git
synced 2026-11-06 14:55:14 +00:00
feat: Add support for SKY130 OpenRAM SRAM integration
- Introduced to handle the preparation of the SKY130 OpenRAM SRAM views. - Updated to download and prepare the SRAM archive during PDK setup. - Enhanced OpenSTA and Yosys configurations to accommodate SRAM macro integration. - Added Verilog simulation models for GF180 and SKY130 SRAM macros. - Implemented tests for SRAM setup and validation, ensuring correct integration and functionality. - Updated various Makefiles and scripts to support SRAM size and macro configurations.
This commit is contained in:
40 files changed
+749
-61
No files matched your search
@@ -53,10 +53,32 @@ module tc_sram_1024x32_tb;
|
||||
end
|
||||
endtask
|
||||
|
||||
task automatic expect_read_hold(input logic [9:0] idle_address, input logic [31:0] expected);
|
||||
begin
|
||||
@(negedge clk_i);
|
||||
cs_i = 1'b0;
|
||||
addr_i = idle_address;
|
||||
@(posedge clk_i);
|
||||
@(negedge clk_i);
|
||||
if (data_o !== expected) begin
|
||||
$fatal(1, "1024x32 SRAM held data=%08x expected=%08x", data_o, expected);
|
||||
end
|
||||
end
|
||||
endtask
|
||||
|
||||
initial begin
|
||||
write_word(10'h000, 32'hCAFE_BABE, 4'hF);
|
||||
write_word(10'h155, 32'h1122_3344, 4'hF);
|
||||
write_word(10'h155, 32'hAABB_CCDD, 4'b0101);
|
||||
write_word(10'h1FF, 32'h0102_0304, 4'hF);
|
||||
write_word(10'h200, 32'h1122_3344, 4'hF);
|
||||
write_word(10'h3FF, 32'hA5A5_5A5A, 4'hF);
|
||||
read_word(10'h000, 32'hCAFE_BABE);
|
||||
read_word(10'h155, 32'h11BB_33DD);
|
||||
read_word(10'h1FF, 32'h0102_0304);
|
||||
expect_read_hold(10'h200, 32'h0102_0304);
|
||||
read_word(10'h200, 32'h1122_3344);
|
||||
read_word(10'h3FF, 32'hA5A5_5A5A);
|
||||
$display("1024x32 SRAM wrapper test passed");
|
||||
$finish;
|
||||
end
|
||||
|
||||
Reference in new issue
Block a user