как каскадировать блокрамы в коде verilog, используя атрибуты xilinx?

Я пытаюсь реализовать большую оперативную память, используя блочные ОЗУ в моем коде VERILOG, который превысил предел глубины этого конкретного блочного ОЗУ в устройстве (мне нужен ОЗУ глубиной 4500, а максимальная глубина одного блочного ОЗУ составляет 512). как каскадно блокировать бараны, используя атрибуты в моем коде Verilog. заранее спасибо


person vlsi_user    schedule 21.09.2016    source источник


Ответы (1)


Имея хорошие инструменты синтеза, вы можете просто сделать вывод о большом объеме ОЗУ без необходимости использования атрибутов, зависящих от технологии. Поэтому проверьте свое руководство по синтезу для вашей технологии для вывода блочного плунжера. Типичные ошибки там были бы, например. добавить сброс по памяти, что недоступно в большинстве технологий.

person chrisvp    schedule 21.09.2016
comment
Я использую vivado для синтеза своего кода. и для создания битового файла требуется так много времени, и в журнале я заметил, что оперативная память реализуется в регистрах, а не в блочной оперативной памяти. что я должен сделать, чтобы реализовать мой баран в блочном баране - person vlsi_user; 21.09.2016
comment
@vlsi_user количество времени, необходимое инструментам для синтеза, сопоставления и создания битового файла, обычно зависит от размера вашего проекта. Что касается ОЗУ, реализованного в виде регистров вместо блочной ОЗУ, было бы полезно, если бы вы могли опубликовать фрагменты своего кода, показывающие либо написанный вами модуль блочной ОЗУ, либо фрагменты кода, где вы создаете экземпляр своей ОЗУ. - person Prashant; 21.09.2016
comment
@vlsi_user Блочная память в fpga отличается от SRAM в ASIC. То есть вам нужно разрешить задержку в 2 цикла, а не в 1, чтобы сделать вывод о блоке FPGA. Что-то вроде всегда @(posedge clk) begin addr_reg ‹= addr; rdata ‹= память[addr_reg]; конец - person Wei Song; 26.09.2016