Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Программируемые логические схемы и их применение»

Спасибо! Но так тоже не работает!

Отправлено ex51 10 октября 2007 г. 14:14
В ответ на: Ответ: отправлено SAZH 10 октября 2007 г. 13:26

Ругается на строку:
assign PO[16*(j+1)-1:16*j] = temp[j];

Error (10673): SystemVerilog error at getADC_N.v(144): assignments to unpacked arrays must be aggregate expressions

Сейчас заработало так:
module shift (C, SI, PO);
parameter n = 8;
input C;
input [n-1:0] SI;
output [15:0] PO[n-1:0];

integer i;

always @(posedge C) begin
for(i = 0; i < n; i = i + 1) begin
PO[i] <= {PO[i][14:0], SI[i]}; // в этой строке заменил
// PO[14:0][i] на PO[i][14:0] по сравнению с предыдущим вариантом
end
end
endmodule
Вроде даже скомпилировалось, но смущает что в rtl схеме с выходов регистров на вход идёт шина шириной 16 бит хотя по идее ширина должна быть на 1 бит меньше.

И вообще что-то не могу въехать в концепцию как на нём описывать схему. С чего начинать. То есть сами модули описать понятно, а вот как их связывать между собой не доходит.

На языке программирования по событию вызываеш функцию и обрабатываеш его, а тут по событию модуль не вызовеш. Как то не пойму сам подход с чего начинать проектировать схему?



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru