2016-09-21 15 views
0

Я пытаюсь реализовать более крупный барабан с использованием блоков блоков в моем коде VERILOG, который превысил лимит глубины этого конкретного блока в устройстве (мне нужен барабан с глубиной 4500, а максимальная глубина одного блока равна 512) , как каскадировать блочные барабаны, используя атрибуты в моем коде verilog. заблаговременноКак каскад blockrams в Verilog код с использованием атрибутов xilinx?

ответ

0

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

+0

Я использую vivado для синтеза моего кода. и он занимает столько времени, чтобы сгенерировать бит файла, и в журнале я заметил, что ПЛС реализуется в регистрах, а не в блочном блоке. что я должен сделать, чтобы реализовать мой барабан в блочном блоке –

+1

@vlsi_user количество времени, необходимого инструментам для синтеза, сопоставления и создания битового файла, как правило, зависит от размера вашего дизайна. Что касается того, что оперативная память реализована как регистры, а не блочные ОЗУ, было бы полезно, если бы вы могли публиковать фрагменты кода, показывающие либо блок Block RAM, который вы написали, либо фрагменты кода, в котором вы создаете экземпляр своей оперативной памяти. – Prashant

+0

@vlsi_user Блок ram в fpga отличается от SRAM в ASIC. Другими словами, вам нужно разрешить 2-хцикличную задержку, а не 1, чтобы вывести блок-блок FPGA. Что-то вроде всегда @ (posedge clk) begin addr_reg <= addr; rdata <= mem [addr_reg]; конец –