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

 
 
> Счетчики в проекте: общий или несколько одинаковых
edren_baton
сообщение Jan 31 2013, 05:06
Сообщение #1


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

Группа: Участник
Сообщений: 81
Регистрация: 13-10-08
Пользователь №: 40 915



Всем доброго времени суток!

Возник у меня вопрос относительно грамотности использования счетчиков в системе.

Предположим, что со некоторого входного устройства на ПЛИС идет поток данных. Приходит это дело в некоторый модуль (пишу на Verilog) и он по каким-либо критериям начинает считать выборки. Затем эти данные нужно отправить в несколько разных модулей.

Как в данном случае лучше считать выборки в дочерних модулях?
- взять счетчик из входного модуля и его значение отправить к остальным модулям
- сформировать входным модулем некоторый data_en, который раскидать по дочерним модулям, а в каждом из них сделать по своему счетчику

Если варианты неравнозначны, то какие у них области применения?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
eugen_pcad_ru
сообщение Jan 31 2013, 06:12
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353



Хм... Я делал так
"- взять счетчик из входного модуля и его значение отправить к остальным модулям"

Как правильно?.. Ждем ответа гуруsm.gif


--------------------
Правильно сформулированый вопрос содержит в себе половину ответа.
P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
Go to the top of the page
 
+Quote Post
edren_baton
сообщение Jan 31 2013, 06:29
Сообщение #3


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

Группа: Участник
Сообщений: 81
Регистрация: 13-10-08
Пользователь №: 40 915



Почему у меня этот вопрос-то возник.

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

Код
always @(posedge clk) begin

if (counter == 'd3)
reg [counter] <= 0;
else reg [counter] <= data;

end


Если counter пришел из другого модуля, то Квартус (9.1 х86) разводит мой проект на половину кристалла (около 60%), а память не трогает. Если counter задается внутри модуля, то регистр засовывается в память, а логика занимает 6-7% кристалла. Вот я и подумал, что чего-то не понимаю.
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jan 31 2013, 17:08
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Мне кажется, что правильнее собрать один составной счетчик, состоящий из "быстрой"(или быстрых) и "медленной" части.
И уже ими или их комбинацией управлять работой обработчиков.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 04:48
Рейтинг@Mail.ru


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