andrei-sedov
-
Постов
3 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные andrei-sedov
-
-
3 минуты назад, Yuri124 сказал:
Уверены, что это физически можно реализовать с той встроенной памятью, которая есть в этих чипах? - т.е. что при подаче адреса за один такт получится прочитать содержимое данной ячейки памяти.
Не уверен, но это стандартное описание ROM-памяти, можно сделать регистровый выход или выход. Вопрос в том можно ли вообще реализовать память типа ROM на встроенных блоках памяти?
-
Здравствуйте.С недавнего времени осваиваю разработку проектов под ПЛИС для семейства ProASIC3E (ранее имел дело только с Altera и Xilinx) и столкнулся с проблемой нехватки информации и технической поддержке. В моем проекте имеется два процессорных ядра каждое из которых имеет память ROM 4096x32 инструкций. В результате разводки выдается ошибка:
Error: [fail_to_route]:
Router fails. Shorts = 6407. Open nets = 0.
Я подозреваю, что не хватает каких то ресурсов. Где посмотреть что это значит? Синтез проекта проходит нормально:
Core Cells : 46826 of 75264 (62%)
IO Cells : 46RAM/ROM Usage Summary
Block Rams : 79 of 112 (70%)
Скажите пожалуйста можно ли в семействе ProASIC3E реализовать память типа ROM на встроенный блоках памяти (RAM) по аналогии как в ПЛИС Altera?Директива синтезатора Synplify Pro: synthesis syn_romstyle = "lsram" — не дает результата (память реализуется на логический элементах). Пример:module rom1(clk, addr, q)/* synthesis syn_romstyle = "lsram" */;input clk;
input [11:0] addr;
output [31:0] q;reg [31:0] m;
reg [31:0] q;always @(posedge clk)
begin
q[31:0] <= m[31:0];
endalways @(*)
begin
case (addr[11:0])
12'h000 : m[31:0] = 32'hA0FC0000;
12'h001 : m[31:0] = 32'hA0FE0000;
12'h002 : m[31:0] = 32'hA0FD0000;
12'h003 : m[31:0] = 32'h04FF0000;
12'h004 : m[31:0] = 32'h00000100;
12'h005 : m[31:0] = 32'h6BFCFCFC;
...Синтезатор понимает, что это ROM:@N: MO106 :"f:\project\microsemi\core\hdl\rom1.v":19:1:19:4|Found ROM .delname. (in view: work.rom1(verilog)) with 4096 words by 32 bits.
Заранее благодарен за любую оказанную помощь в моей проблеме.
Actel pеализация встроенной ROM-памяти
в Работаем с ПЛИС, области применения, выбор
Опубликовано · Пожаловаться
Это понятно, что ОЗУ теряет свое содержимое после выключения питания, но например ПЛИС Altera позволяет строить из своих блоков RAM память типа ROM. В этом случае блоки RAM инициализируются на этапе конфигурации ПЛИС и в дальнейшем данные неизменно хранятся и доступны для чтения. Синтезатор распознает приведенное выше описание модуля констант как память типа ROM и размещает данные в блоках RAM.
Хотелось бы знать имеется ли подобная технология в ПЛИС семействе ProASIC3E?
P.S. Как я уже писал, в синтезаторе Synplify Pro имеется директива определяющая тип построения памяти: syn_romstyle = "URAM|lsram|..."
Неужели никто не работал с массивами констант, перекодирующими таблицами и т.д.?