Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пользовательская логика
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Sidny Sho
Привет всем. Хочу прикрутить свою логику. Для примера решил добавить простой сумматор. Вот его текст
Код
module adder(
    dataa,
    datab,
    result,
    clk
);
    input[31:0]dataa;
    input[31:0]datab;
    input clk;
    output[31:0]result;
    reg[31:0] result;
    always @ (posedge clk)
        begin
            {result} = dataa + datab;
        end
endmodule

Далее через SOPC добавляю к проекту с ниосом. Проблема возникла при компиляции. Говорит что неправильно указаны типы выводов.

Какие именно поставить для данного устройства? Если есть пример бы, желательно на русском. Спасибо за внимание
alexPec
Цитата(Sidny Sho @ May 11 2011, 00:27) *
Какие именно поставить для данного устройства? Если есть пример бы, желательно на русском. Спасибо за внимание

Так ведь сигналы и модуль надо под авалон-шину адаптировать, в Вашем случае похоже avalon-memory mapped. Почитайте спецификацию на авалон. Я так понимаю надо сделать чтоб по определенным адресам располагался вход сумматора, а на каком-то адресе выход.
vadimuzzz
Цитата(Sidny Sho @ May 11 2011, 03:27) *
Далее через SOPC добавляю к проекту с ниосом. Проблема возникла при компиляции. Говорит что неправильно указаны типы выводов.

и правильно говорит. делать надо примерно так: д.б. 1 сигнал типа readdata (для чтения результата) и 1 сигнал типа writedata (для записи обоих операндов). ну, и writeenable желательно. в компоненте сделать 4 регистра: 2 под операнды (чтение/запись), 1 под результат (только чтение) и 1 статус/контроль (чтение/запись)
Sidny Sho
ак в хедбуке сказано вроде что для простого устройства должно быть 3 интерфейса dataa, datab, result. Без каких либо управляющих сигналов.
vadimuzzz
Цитата(Sidny Sho @ May 12 2011, 01:30) *
ак в хедбуке сказано вроде что для простого устройства должно быть 3 интерфейса dataa, datab, result. Без каких либо управляющих сигналов.

в каком именно хендбуке? в любом случае, если хотите делать именно так, то dataa и datab будут иметь тип сигнала writedata (соответственно, будет 2 Avalon-MM Slave интерфейса), а result - readdata (и, пожалуй, третий интерфейс для него). как по мне, это довольно корявый способ.
Sergey'F
Вопрос ТС: Вы пытаетесь сделать компонент на шину Avalon или Custom Instruction? Это очень разные вещи. Если CI, то да, там есть dataa, datab и result. Надо выбирать интерфейс custom instruction slave.
Sidny Sho
Чет как то не совсем добавляется. Опишу порядок своих действий:
1) В SOPC билдере открываю проект с ниос
2) Нажимаю Project->New componen
3) Загружаю свой верилоговский файл
4) Указываю следующие интерфейсы:


5) Указываю группу сохранения

7) В итоге ни эта группа ни этот компонент не появляется в библиотеке. Если же делать шину Avalon то все нормально. В чем заключется моя ошибка? Все делал мо мануалу:Сайт Аltera
Sergey'F
После создания custom instruction она появится на закладке Custom Instructions в мастере свойств процессора. И там ее надо добавлять в ядро. По сути - она добавляется в АЛУ процессора.
А в списке компонент у Вас видно то, что добавляется в систему снаружи процессора, через Avalon MM или Avalon ST.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.