А объясни как в твоем языке происходит инкремент счетчика - в VHDL коде там в последней секции он инкрементится
а в твоем куске он только присваивается но никаких движняков именно по изменению, я в коде не вижу. Может конечно в AHDL есть какое то автоинкрементирование - но я в этом сомневаюсь.Код:if CLC'event and CLC = '0' then if COUNTER_EN = '1' then COUNTER <= COUNTER+"0001";
---------- Post added at 09:51 ---------- Previous post was at 09:29 ----------
Ага тормозю - нашел!
твой код :
попробуй переписать как :Код:IF SD_count_en ==1 THEN SD_count[].d = SD_count[].q+1;
Синтаксис я мог нарушить ( не знаю его ) но идея думаю ясна.Код:IF SD_count_en ==1 THEN IF SD_count[].d == 7 THEN SD_count[].d=0; ELSE SD_count[].d = SD_count[].q+1;
Это если должно считать 8 раз от 0 до 7.
И вопросы по .d и .q не понятно - почему разная разрядность до и после присваивания (SD_count[].d = SD_count[].q+1). если я правильно врубаюсь - это дабл и квад ? По идее оно должно быть одинаковым. А приведение сделать потом, типа and 7 если надо только 3 разряда. Но вообще - желательно просто ввести условие дополнительное а операнды делать равными по ширине. для данного случая - 4 бита.





Ответить с цитированием