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:
maksyuki committed 2026-08-25 12:55:47 +08:00
1 parent fe347ed583
commit 71d52f357e
40 files changed
+749 -61

No files matched your search

+22
View File
@@ -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