Скажем, я хотел бы иметь FIFO, что делает что-то вроде этого:Как динамически размер FIFO реализован в Verilog
local_max_fifo local_max_save
(
.clk (clk),
.rst (rst),
.din (local_max_in),
.dout (local_max_out),
.wr_en (local_max_write_data),
.rd_en (local_max_read_data)
);
Есть ли способ сделать это так, чтобы все FIFOs в проекте использовать те же пул памяти фиксированного размера? Таким образом, у меня могло бы быть 10 FIFO в моем проекте, но все 10 FIFO используют один и тот же пул памяти
Вы хотите * параметризовать * глубину FIFO? – sharvil111
Если это имеет смысл, зависит от ряда конкретных параметров конструкции, например. могут записываться и считываться каждый цикл, является переменной задержкой для чтения или записи, приемлемой, каков размер данных, какое количество накладных расходов приемлемо и т. д. Недостатком общего пула является накладные расходы и ограниченное количество портов на физическом воспоминания, поэтому чтение/запись для некоторых FIFO, возможно, придется ждать, пока другие не будут завершены. Поэтому, в конце концов, это не столько вопрос о дизайне, который использует Verilog, но и вопрос архитектуры. –
из того же пула памяти, вы имеете в виду большую память, разделенную поровну между 10Fifos в вашем случае? – Sourabh