Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибки при компиляции в ModelSim
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Iptash
Доброго всем здравия.

Вот пытаюсь прокомпилировать простенькую программу типа

Код
module decode3(input [7:1]  SW,
                                  input [9:0]  SA,    
                                  input  IOW, aen,
                                  output [7:0] Q );

wire    ADDR;
wire    SYNTHESIZED_WIRE_0;
wire    SYNTHESIZED_WIRE_1;
wire    SYNTHESIZED_WIRE_2;
wire    SYNTHESIZED_WIRE_3;
wire    SYNTHESIZED_WIRE_4;
wire    SYNTHESIZED_WIRE_5;
wire    SYNTHESIZED_WIRE_6;

always begin
            SYNTHESIZED_WIRE_1 = SW[2] ^ SA[5];
    SYNTHESIZED_WIRE_3 = SW[3] ^ SA[6];
    SYNTHESIZED_WIRE_6 = SW[4] ^ SA[7];
    SYNTHESIZED_WIRE_5 = SW[5] ^ SA[8];
...
...

почему то при компилировании ругается "Illegal reference to net SYNTHESIZED_WIRE_3"
и так далее во всех местах присваивания. Чуть раньше
пробывал программы компилировать, все работало. ModelSim v 6.3 скачал с сайта Altera как
бесплатный софт.
Подскажите пожалуйста в чем проблема.
Kopart
Цитата(Iptash @ Dec 27 2008, 15:20) *
Код
always begin
            SYNTHESIZED_WIRE_1 = SW[2] ^ SA[5];
    SYNTHESIZED_WIRE_3 = SW[3] ^ SA[6];
    SYNTHESIZED_WIRE_6 = SW[4] ^ SA[7];
    SYNTHESIZED_WIRE_5 = SW[5] ^ SA[8];
...
...

Вы что-нибудь на счет Verilog'а читали?!

Подсказки:

1.В процессе (always) могут быть только переменый типа reg (а не wire)
2. В процессе для синтеза указывают список чувствительности (для моделирования - один раз и так запуститься как описано)
3. Обычно присвоения wire описывают как "assign <wire> = ..."
Iptash
Цитата(NiOS @ Dec 27 2008, 16:44) *
Вы что-нибудь на счет Verilog'а читали?!

Подсказки:

1.В процессе (always) могут быть только переменый типа reg (а не wire)
2. В процессе для синтеза указывают список чувствительности (для моделирования - один раз и так запуститься как описано)
3. Обычно присвоения wire описывают как "assign <wire> = ..."


Я System Verilog читаю, пробывал и reg. Дело в том, что простые программы которые делал
раньше компилировались, может в настройках я что-то изменил? буду дальше проверять.
Iptash
Действительно список чувствительности нужен.
А как понять? ...(для моделирования - один раз и так запуститься как описано)
des00
Цитата(Iptash @ Dec 27 2008, 09:25) *
Я System Verilog читаю, пробывал и reg. Дело в том, что простые программы которые делал
раньше компилировались, может в настройках я что-то изменил? буду дальше проверять.


не надо пробывать в слепую, читайте стандарт там все написано. И виды присваиваний и их типы и способы и т.д. И про процессы со списками чувствительности и когда они нужны и зачем все написано.

Стандарт на SV в том виде что он опубликован читать надо вместе со стандартом на V-2001. Совокупный стандарт появится позже и будет в 2 раза толще %) На моей памяти моделсим ошибается на несколько порядков реже чем разработчик.


Удачи !!!
Kopart
Цитата(Iptash @ Dec 27 2008, 18:39) *
Действительно список чувствительности нужен.
А как понять? ...(для моделирования - один раз и так запуститься как описано)

Это значит, что можно использовать в тестбенче как "основной алгоритм". Один раз пройдет этот процесс от начала и до конца.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.