Verilog: Создание экземпляра блока памяти

Я использовал следующий код для создания двумерной памяти в verilog.

reg  [15:0] data_pattern_even [3:0] = {16'hFFFF,16'hFFFF,16'hFFFF,16'hFFFF};

reg  [15:0] data_pattern_ev [3:0] = {16'hFFFF,16'hFFFF,16'hFFFF,16'hFFFF};

Этот экземпляр работал нормально в симуляции, но не работал при фактическом синтезе и выполнении RTL-анализа.

Может ли кто-нибудь объяснить мне, как это возможно?


person Ananth Krishna    schedule 17.06.2016    source источник
comment
Что за ошибка/предупреждение?   -  person sharvil111    schedule 17.06.2016
comment
Нет ошибки . Просто в RTL все значения data_pattern_even не являются FFFF. 1-й - FFFF, а остальные - ноль   -  person Ananth Krishna    schedule 17.06.2016
comment
FPGA или синтез ASIC? если FPGA, можете ли вы указать, какие версии FPGA и инструментов вы используете.   -  person Morgan    schedule 17.06.2016
comment
artix-7 xc7a35 и vivado 2014.2. Я слышал от своего друга, что инициализация в Verilog должна выполняться при определенных условиях, например, reset . может в этом причина?   -  person Ananth Krishna    schedule 17.06.2016
comment
Информацию о том, как описывать оперативную память и ПЗУ для синтеза Xilinx Vivado в Verilog (или VHDL).   -  person Paebbels    schedule 17.06.2016


Ответы (1)


Для устройств Altera: https://www.altera.com/support/support-resources/design-examples/design-software/verilog/ver_ram.html

Для устройств Xilinx (согласно Paebbels): http://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_2/ug901-vivado-synchronous.pdf (глава 3, «Инициализация содержимого ОЗУ»)

Для устройств Lattice: http://www.latticesemi.com/~/media/LatticeSemi/Documents/UserManuals/EI/iCEcube2_2013-08_userguide.pdf?document_id=50165 ("Инициализация предполагаемой оперативной памяти")

Для устройств Microsemi: http://www.microsemi.com/document-portal/doc_view/129865-ac162-ram-initialization-and-rom-emulation-in-proasic-sup-u-plus-u.-sup-devices-app-note

Короткий поиск в Google, и я нашел это: Как инициализировать содержимое предполагаемой блочной ОЗУ (BRAM) в Verilog

Просто погуглите :-)

person Oron Port    schedule 19.06.2016