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

Код
always@(posedge CLK )
begin              
if(CNT[0])begin CNT[0] <= CNT[0]-1;end
if(CNT[1])begin CNT[1] <= CNT[0]-1;end
if(CNT[2])begin CNT[2] <= CNT[2]-1;end
....
if(CNT[99])begin CNT[99] <= CNT[99]-1;end
end
andrew_b
В данном случае простой цикл
Код
always@(posedge CLK )
begin
    for (i = 0; i < 100; i++)
        if(CNT[i])begin CNT[i] <= CNT[i]-1;end
end
dimone
Цитата(andrew_b @ Jun 28 2018, 09:34) *
В данном случае простой цикл

-естесствнно пробовал, но не подошло, ведь по-сути необходимо что-б синтезатор собрал не итеративное ,
а параллельное деиство
RobFPGA
Приветствую!
Цитата(dimone @ Jun 28 2018, 10:24) *
-естесствнно пробовал, но не подошло, ведь по-сути необходимо что-б синтезатор собрал не итеративное ,
а параллельное деиство
Вы проверяли результат в синтезаторе ? И что же у Вас получилось тогда?
Удачи! Rob.
dimone
-Переписал ,вроде пошло..
-Спасибо большое!
iosifk
Цитата(dimone @ Jun 28 2018, 10:24) *
-естесствнно пробовал, но не подошло, ведь по-сути необходимо что-б синтезатор собрал не итеративное ,
а параллельное деиство

В HDL языках цикл - это не последовательность действий, как в языках программирования, а это просто сокращение букв при описании чего-либо. Т.е. цикл делается вместо многократного описания одинаковых блоков...
А Вам действительно нужны одновременые декременты на самой большой системной частоте?
RobFPGA
Приветствую!
Цитата(iosifk @ Jun 28 2018, 11:16) *
В HDL языках цикл - это не последовательность действий, как в языках программирования, а это просто сокращение букв при описании чего-либо. ...
Простите но это не так! - во что выльется при симуляции/синтезе результат работы цикла (в набор блоков или в результат последовательности действий в теле цикла) зависит от контекста применения этого цикла.

Удачи! Rob.
iosifk
Цитата(RobFPGA @ Jun 28 2018, 11:29) *
Простите но это не так! - во что выльется при симуляции/синтезе результат работы цикла (в набор блоков или в результат последовательности действий в теле цикла) зависит от контекста применения этого цикла.

Дорогой Rob! Внимательно следите за собой, за тем что пишите.
Я написал "набор блоков". Вы пишите, что это "не так".
Но тут же пишите, что "в набор блоков" - может иметь место.
Следовательно, писать что это "не так" Вы права не имеете. Вы могли бы написать, что "не только так", т.е. добавить, но не опровергать!

Gorby
Цитата(iosifk @ Jun 28 2018, 11:22) *
Дорогой Rob! Внимательно следите за собой, за тем что пишите.
Следовательно, писать что это "не так" Вы права не имеете. Вы могли бы написать, что "не только так", т.е. добавить, но не опровергать!


Не судите строго, он бывший КИПовец. Заклятый друг инженера...
RobFPGA
Приветствую!

Цитата(iosifk @ Jun 28 2018, 12:22) *
Дорогой Rob! Внимательно следите за собой, за тем что пишите.
Я написал "набор блоков". Вы пишите, что это "не так".
Но тут же пишите, что "в набор блоков" - может иметь место.
Следовательно, писать что это "не так" Вы права не имеете. Вы могли бы написать, что "не только так", т.е. добавить, но не опровергать!
Да уж! Вы написали (ниже я специально выделил то что я считаю глупостью)
Цитата(iosifk @ Jun 28 2018, 11:16) *
В HDL языках цикл - это не последовательность действий, как в языках программирования, а это просто сокращение букв при описании чего-либо. Т.е. цикл делается вместо многократного описания одинаковых блоков...
Поскольку это Ваше утверждение категорично (Вы же не написали что обычно ..., чаще всего ..., цикл используют для ...) То я этим не согласился. Для чего я специально выделил в своем ответе что именно не так!
Цитата(RobFPGA @ Jun 28 2018, 11:29) *
Простите но это не так! - во что выльется при симуляции/синтезе результат работы цикла (в набор блоков или в результат последовательности действий в теле цикла) зависит от контекста применения этого цикла.

Удачи! Rob.
Kluwert
Цитата(dimone @ Jun 28 2018, 09:24) *
Подскажите пожалуйста, как имея сто байтовый массив эстетичней записать
параллельний декремент каждого байта

Каждого байта, или каждого бита? То, что я вижу у вас, не проще вообще написать как CNT <= CNT ^ ~100'b0 ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.