[an error occurred while processing this directive]
|
Описанное Вами не имеет особой разницы.
VARIABLE A: MY_COMP;
Это виртуальный тип.
Мы не сможем написать (а может я и ошибаюсь)
VARIABLE A,B: MY_COMP;
A = B;
А, с точки зрения языка, крамолы нет (переменная одного типа присваивается переменной этого же типа).
Но я думал, что Вы хотите нечто такое.
FRS : A;
Wire : B,D;
FD : C;
A = (rst)? 0: (set)?: 1; - синтезатор обязан сделать RS-триггер
B = (rst)? 0: (set)?: 1; - синтезатор обязан сделать мультиплексор
C = (rst)? 0: (posedge clk)?: D; - синтезатор обязан сделать D-триггер
Такое описание (примерно, конечно) не очень сложное. Компилятор проверит правильность синтаксиса и проблем не будет. Но, что делать, если на конкретной платформе нет возможности реализовать, например, RS-триггер?
Языковой ошибки нет, но логика это не триггер.
Возникают проблемы, которые непросто регламентировать.
E-mail: info@telesys.ru