Записная книжка разработчика

Мои проекты

Модель SRAM с таймингами

| Comments

Представляю вашему вниманию модель микросхемы памяти IS61WV102416 на verilog с учетом задержек.Модель предназначена для построения тестов устройств, содержащих SRAM. Модель не синтезируема.

wave1

is61wv102416bll-10tl-102416-tssop48

Микросхема IS61WV102416 является асинхронной быстродействующей статической памятью объемом 16М и организацией 1М х 16. Имеются варианты с временем доступа 8, 10 и 20 нс. В данной модели установлены тайминги для варианта 10нс.

Исходник модели и теста можно скачать на GitHub: https://github.com/arktur04/SRAM.

При построении модели использовано следующее допущение: мы не используем сигналы /UB и /LB (открывающие верхний и нижний байты шины данных), предполагая, что оба сигнала всегда находятся в активном состоянии.

Модуль параметризируемый, тайминги можно изменит при необходимости:

module sram_controller
#(parameter
SRAM_DATA_WIDTH = 16,
SRAM_ADDR_WIDTH = 20,

//timings for 10 ns version
TAA = 9.9, // address access time 10 ns
TOHA = 2.5, //output hold time 2.5 ns
TACE = 9.9, // ce_n access time
TDOE = 6.4, // oe_n access time
THZOE = 3.9, //oe_n to High-Z output
TLZOE = 0, // oe_n to Low-Z output
THZCE = 3.9, //ce_n to High-Z output
TLZCE = 3, // ce_n to Low-Z output
THZWE = 4.9, //we_n to High-Z output
TLZWE = 2 // we_n to Low-Z output
)
(
// inputs
input wire [SRAM_ADDR_WIDTH - 1: 0] sram_addr_in,
input wire oe_n,
input wire ce_n,
input wire we_n,
// bidirectional data bus
inout wire [SRAM_DATA_WIDTH - 1: 0] sram_data_inout
);