МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: Синхронные/асинхронные счетчики на HDL

Синхронные/асинхронные счетчики на HDL 4 года 7 мес. назад #2555

  • newold86
  • newold86 аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 29
  • Спасибо получено: 1
Столкнулся с очередной проблемой и задумался - как будут реализовываться "в железе" счетчики, описанные на языках программирования (VHDL, Verilog и т.д.) ?

Допустим, есть простейший код (вообще без всяких наворотов), описывающий несколькоразрядный двоичный счетчик. Определено ли где-то однозначно, что получится после компиляции - синхронный или асинхронный счетчик ?

Если такой определенности нет, то как получить гарантированно синхронный счетчик ? В интернете посмотрел - пока нашел только, как сделать синхронный счетчик на JK-триггерах. Однако это просто повторение существующей схемы средствами языка, а меня больше интересует, как правильно описать именно поведение синхронного счетчика. Будет здорово, если кто-то сможет пояснить, особенно на примере VHDL.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Синхронные/асинхронные счетчики на HDL 4 года 7 мес. назад #2557

  • newold86
  • newold86 аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 29
  • Спасибо получено: 1
Надо же - много чего есть на этом сайте, даже объяснение про синхронные схемы - marsohod.org/11-blog/85-veriloglesson5 :)

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Синхронные/асинхронные счетчики на HDL 4 года 7 мес. назад #2558

newold86 пишет: Надо же - много чего есть на этом сайте, даже объяснение про синхронные схемы - marsohod.org/11-blog/85-veriloglesson5 :)

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


Если счетчик бинарный, то "количество ресурсов" = "количество разрядов".
А про асинхронные счетчики забудьте.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Синхронные/асинхронные счетчики на HDL 4 года 7 мес. назад #2560

  • newold86
  • newold86 аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 29
  • Спасибо получено: 1
Все таки, если напишу следующее:
ARCHITECTURE Behavioral OF my_counter4 IS

	SIGNAL count : STD_LOGIC_VECTOR (5 DOWNTO 0);

BEGIN
	process (reset, clock) begin
		if (reset = '1') then
			count <= "000000";
		elsif clock'event and clock = '0' then
			if count <  "100111" then 
				count <= count + 1 ;
			else
				count <= "000000";
			end if;
		end if;
	end process;
	q <= count;
END Behavioral;

это будет синхронный счетчик (с одновременным обновлением всех 6 разрядов) ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Синхронные/асинхронные счетчики на HDL 4 года 7 мес. назад #2561

  • bfgroup
  • bfgroup аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 21
  • Спасибо получено: 11

Определено ли где-то однозначно, что получится после компиляции - синхронный или асинхронный счетчик ?

однозначно определено в стандарте на синтезируемую часть языка IEEE Std 1076, гуглите.

это будет синхронный счетчик (с одновременным обновлением всех 6 разрядов) ?

да, это будет синхронный счётчик.

А про асинхронные счетчики забудьте.

Присоединяюсь. В плисах они Вам не понадобятся.
Спасибо сказали: newold86

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.162 секунд

facebook  GitHub  YouTube  Twitter
Вы здесь: Начало Forum Наш форум Языки программирования Синхронные/асинхронные счетчики на HDL