[an error occurred while processing this directive]
Была промблема ,причину тогда нашел а сейчас не знаю с чем лучше боротся : C последствиями или с причиной,может кто с этим сталкивался или знает другие решения - слезно прошу помочь.
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Chasn 04 июля 2004 г. 16:04


Использую: Aldek6.1(1289) + LeonardoSpectrum2003a.33 + Atmel System Designer3.0(patch 1).
камень: AT94K10AL-25AJC (промблеммы с FPGA AT40K - находящейся на "борту")

В AT40K имеется "32x4Dual-portRAM" с разрешением записи WE с активным лог0

A вот Леонардий почему то считает что подать надо лог1 для разрешения записи
(если писать на Verilog)

Причем если отключить опцию Extract RAMs то все работает как положенно.

Получается Когда леонардо начинает использовать "IP Core Generator" то незнает
про инверсный вход WE .

Тогда я выкрутился просто поставив инвертеры и поседствия устранил,
Понятно что "через Ж@пу" - но время поджимало.

Пробовал Леонардо встроенный в System Designer и LeonardoSpectrum2004a
Но получалась таже картина.

Сейчас снова надо использовать память но как поступить не знаю .
Можно выкрутися и сейчас и потом пожалеть.

К моему сожалению других синтезаторов у меня нет и сравнить мне несчем.

На всякий случай привожу модуль с прошлого проекта
Может где-то есть прокол.

Что бы этот модуль работал пришлось подавать на WE_i лог0 вместо лог1:

module mem_8i_32o(CLK_i,D8_i, WE_i,AI4_i,AO2_i,D32_o );

input CLK_i;
input [7:0]D8_i;
input WE_i;
input [3:0]AI4_i;
input [1:0]AO2_i;
output [31:0]D32_o;

reg [7:0]MemBlok_0[15:0];
reg [7:0]MemBlok_1[15:0];
reg [7:0]MemBlok_2[15:0];
reg [7:0]MemBlok_3[15:0];


always @(posedge CLK_i)
if(WE_i)
begin
MemBlok_0[AI4_i]=D8_i;
MemBlok_1[AI4_i]=D8_i;
MemBlok_2[AI4_i]=D8_i;
MemBlok_3[AI4_i]=D8_i;
end

wire[3:0]aout_0,aout_1,aout_2,aout_3;

assign aout_0[1:0]=0,aout_0[3:2]=AO2_i;
assign aout_1[1:0]=1,aout_1[3:2]=AO2_i;
assign aout_2[1:0]=2,aout_2[3:2]=AO2_i;
assign aout_3[1:0]=3,aout_3[3:2]=AO2_i;

assign D32_o[7:0] =MemBlok_0[aout_0];
assign D32_o[15:8] =MemBlok_1[aout_1];
assign D32_o[23:16]=MemBlok_2[aout_2];
assign D32_o[31:24]=MemBlok_3[aout_3];

endmodule


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru