реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> компактная запись парралельного однотипного действия
dimone
сообщение Jun 28 2018, 06:24
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 23-02-09
Пользователь №: 45 242



Подскажите пожалуйста, как имея сто байтовый массив эстетичней записать
параллельний декремент каждого байта при ненулевом содержмом
ибо портянка из ста строк кажется не комильфо :

Код
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


Сообщение отредактировал dimone - Jun 28 2018, 06:26
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Jun 28 2018, 06:34
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 972
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



В данном случае простой цикл
Код
always@(posedge CLK )
begin
    for (i = 0; i < 100; i++)
        if(CNT[i])begin CNT[i] <= CNT[i]-1;end
end
Go to the top of the page
 
+Quote Post
dimone
сообщение Jun 28 2018, 07:24
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 23-02-09
Пользователь №: 45 242



Цитата(andrew_b @ Jun 28 2018, 09:34) *
В данном случае простой цикл

-естесствнно пробовал, но не подошло, ведь по-сути необходимо что-б синтезатор собрал не итеративное ,
а параллельное деиство
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jun 28 2018, 07:35
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 199
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(dimone @ Jun 28 2018, 10:24) *
-естесствнно пробовал, но не подошло, ведь по-сути необходимо что-б синтезатор собрал не итеративное ,
а параллельное деиство
Вы проверяли результат в синтезаторе ? И что же у Вас получилось тогда?
Удачи! Rob.
Go to the top of the page
 
+Quote Post
dimone
сообщение Jun 28 2018, 07:45
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 23-02-09
Пользователь №: 45 242



-Переписал ,вроде пошло..
-Спасибо большое!
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 28 2018, 08:16
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 4 006
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(dimone @ Jun 28 2018, 10:24) *
-естесствнно пробовал, но не подошло, ведь по-сути необходимо что-б синтезатор собрал не итеративное ,
а параллельное деиство

В HDL языках цикл - это не последовательность действий, как в языках программирования, а это просто сокращение букв при описании чего-либо. Т.е. цикл делается вместо многократного описания одинаковых блоков...
А Вам действительно нужны одновременые декременты на самой большой системной частоте?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jun 28 2018, 08:29
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 199
Регистрация: 23-12-04
Пользователь №: 1 643



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

Удачи! Rob.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 28 2018, 09:22
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 4 006
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



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

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



--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Gorby
сообщение Jun 28 2018, 09:51
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 448
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002



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


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


--------------------
Умею молчать на 37 языках...
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jun 28 2018, 09:52
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 199
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

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

Удачи! Rob.
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Aug 21 2018, 19:42
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



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

Каждого байта, или каждого бита? То, что я вижу у вас, не проще вообще написать как CNT <= CNT ^ ~100'b0 ?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd September 2018 - 15:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01032 секунд с 7
ELECTRONIX ©2004-2016