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

ТЕМА: Генерация нескольких клоков в тестбенч

Генерация нескольких клоков в тестбенч 10 года 7 мес. назад #2526

  • wowa
  • wowa аватар Автор темы
  • Не в сети
  • Давно я тут
  • Давно я тут
  • Сообщений: 157
  • Спасибо получено: 37
Для проверки мне нужно несколько клоков: один мастер и один мастер/8. Сейчас я для проверки туда вкладываю делитель и беру внутри клок делёный на 8. Как это сделать правильно без такой вот камасутры??

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

Re: Генерация нескольких клоков в тестбенч 10 года 7 мес. назад #2527

  • bfgroup
  • bfgroup аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 21
  • Спасибо получено: 11
wowa, а почему это камасутра-то?? вполне приемлемое решение когда стимулы описываются в синтезабельном стиле, пользуйтесь.
главный минус такого подхода -- неэффективное расходование памяти машины на которой проводится верефикация (особенно это касается вхдл, особенно вхдл!), но если у Вас тестовое окружение и имплементация небольшие, то такой подход можно использовать.

ну а если нет, то смотрите в сторону несинтезируемых конструкций. в VHDL при необходимости создать в тестбенче несколько клоков, я поступаю так:
constant tick: time:= 10 ns; -- задаю квант периода клока;

clk <= not clk after tick;
clk_8 <= not clk_8 after tick*8 -- взгляните как просто решается Ваша задача!!

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

Re: Генерация нескольких клоков в тестбенч 10 года 7 мес. назад #2528

  • wowa
  • wowa аватар Автор темы
  • Не в сети
  • Давно я тут
  • Давно я тут
  • Сообщений: 157
  • Спасибо получено: 37
Так вот у меня не заработало..
parameter tck = 10; ///< clock tick
reg clk;
reg clk8;

/** The OCT instance */
oct_counter oct(
	clk, clk8, reset, wr, data, cnt_out
);

always #(tck/2) clk <= ~clk;
always #(tck*4) clk8 <= ~clk8;
В том то и дело что я написал чтото похожее и оно просто не работало :) Всегда работал только первый клок. А все остальные были как бы не дефинированы. Поэтому чтобы проверить как работает - я написал маленький делитель в теле модуля..

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

Последнее редактирование: от wowa.
  • Страница:
  • 1
Время создания страницы: 0.089 секунд
Работает на Kunena форум