[an error occurred while processing this directive]
Ответ: Не ну эт понятно где константа и где сигнал но (+)
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено imsushka 28 сентября 2005 г. 22:51
В ответ на: Я не одной константы у вас не вижу :) , инициализацию вижу а константы нет(+) отправлено <font color=gray>des00</font> 28 сентября 2005 г. 13:32

Но разве я могу делать условные константы или константы в цикле?
нет не могу, ругается компилятор

я наконец то добрался до дому и могу выложить кусок реальной проги

cpuf: for i in 0 to CPU_CNT-1 generate
cpu: cpu
port map(clk, reset, intcpu0,
m_adr_o(i*2), m_dat_o(i*2), m_sel_o(i*2), m_cyc_o(i*2), m_we_o(i*2), m_stb_o(i*2),
m_dat_i(i*2), m_ack_i(i*2), m_err_i(i*2), m_rty_i(i*2),
m_adr_o(i*2+1), m_dat_o(i*2+1), m_sel_o(i*2+1), m_cyc_o(i*2+1), m_we_o(i*2+1), m_stb_o(i*2+1),
m_dat_i(i*2+1), m_ack_i(i*2+1), m_err_i(i*2+1), m_rty_i(i*2+1));
end generate;

i: intercon
port map(clk, reset,
m_adr_o, m_dat_o, m_sel_o, m_cyc_o, m_we_o, m_stb_o,
m_dat_i, m_ack_i, m_err_i, m_rty_i,
s_adr_i, s_dat_i, s_sel_i, s_cyc_i, s_we_i, s_stb_i,
s_dat_o, s_ack_o, s_err_o, s_rty_o);

int: interupt
port map(clk, reset,
s_adr_i(3), s_dat_i(3), s_sel_i(3), s_cyc_i(3), s_we_i(3), s_stb_i(3),
s_dat_o(3), s_ack_o(3), s_err_o(3), s_rty_o(3));

mm <= CPU_CNT*2;
ss <= 6;

dmai: if DMA_ENABLE generate
dmaf: for i in 0 to DMA_CNT-1 generate
dma: dma
port map(clk, reset,
m_adr_o(i*2), m_dat_o(i*2), m_sel_o(i*2), m_cyc_o(i*2), m_we_o(i*2), m_stb_o(i*2),
m_dat_i(i*2), m_ack_i(i*2), m_err_i(i*2), m_rty_i(i*2),
m_adr_o(i*2+1), m_dat_o(i*2+1), m_sel_o(i*2+1), m_cyc_o(i*2+1), m_we_o(i*2+1), m_stb_o(i*2+1),
m_dat_i(i*2+1), m_ack_i(i*2+1), m_err_i(i*2+1), m_rty_i(i*2+1),
s_adr_i(i), s_dat_i(i), s_sel_i(i), s_cyc_i(i), s_we_i(i), s_stb_i(i),
s_dat_o(i), s_ack_o(i), s_err_o(i), s_rty_o(i));
-- вот здесь я хочу видеть такой кусок
-- dma: dma
-- port map(clk, reset,
-- m_adr_o(mm+i*2), m_dat_o(mm+i*2), m_sel_o(mm+i*2), m_cyc_o(mm+i*2), m_we_o(mm+i*2), m_stb_o(mm+i*2),
-- m_dat_i(mm+i*2), m_ack_i(mm+i*2), m_err_i(mm+i*2), m_rty_i(mm+i*2),
-- m_adr_o(mm+i*2+1), m_dat_o(mm+i*2+1), m_sel_o(mm+i*2+1), m_cyc_o(mm+i*2+1), m_we_o(mm+i*2+1), m_stb_o(mm+i*2+1),
-- m_dat_i(mm+i*2+1), m_ack_i(mm+i*2+1), m_err_i(mm+i*2+1), m_rty_i(mm+i*2+1),
-- s_adr_i(ss+i), s_dat_i(ss+i), s_sel_i(ss+i), s_cyc_i(ss+i), s_we_i(ss+i), s_stb_i(ss+i),
-- s_dat_o(ss+i), s_ack_o(ss+i), s_err_o(ss+i), s_rty_o(ss+i));
--
end generate;
mm <= mm + DMA_CNT*2;
ss <= ss + DMA_CNT;
end generate;

vi: if VIDEO_ENABLE generate
vf: for i in 0 to VIDEO_CNT-1 generate
video: video
port map(clk, reset,
m_adr_o(i), m_dat_o(i), m_sel_o(i), m_cyc_o(i), m_we_o(i), m_stb_o(i),
m_dat_i(i), m_ack_i(i), m_err_i(i), m_rty_i(i),
s_adr_i(i), s_dat_i(i), s_sel_i(i), s_cyc_i(i), s_we_i(i), s_stb_i(i),
s_dat_o(i), s_ack_o(i), s_err_o(i), s_rty_o(i));
end generate;
mm <= mm + VIDEO_CNT;
ss <= ss + VIDEO_CNT;
end generate;

вот такая вот херня

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


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

E-mail: info@telesys.ru