Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Мультиплексор клоков
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Разработка цифровых, аналоговых, аналого-цифровых ИС
SM
Имеется мультиплексор клоков. Чтобы ядро клочить от разных источников - в low power одно, в high speed - другое. Соответственно имеется логический элемент, через который идут оба клока. Как результат - при set_clock_gating_check дизайн компайлер начинает ругаться на non-unate clock path через этот мультиплексор. Что и логично. А вот как ему сказать, чтобы он этот элемент не воспринимал как клоко-гейтилку? remove_clock_gating_check именно этой ячейке-мультиплексору не помогает, даже естли я ее включаю прямо из исходника модулем и обзываю set_dont_touch. Без gated clock я обойтись не могу - много периферийных устройств с регистрами - они все на латчах ради area.
Mad Makc
была такая проблема.Как нормально сделать- не знаю. Народ делал так.
Во первых мультиплексор в отдельный модуль- иначе энкаунтер его почему-то с удовольствием раскидывает по всему кристаллу.
синтзатору указывали наличие клока на цепях входящих в мультиплексор(пусть это будут clk1 и clk2).А так же клоком назначали цепь, выходящую из мультиплексора (пусть clk_out).
А потом назначали констрейны на время от фронта одного клока до фронта второго(от фронта clk1 до фронта clk_out и от фронта clk2 до фронта clk_out).
На сколько это помогает судить не могу.Впритык с этим проектом не работал.
SM
Цитата(Mad Makc @ Sep 11 2006, 18:43) *
была такая проблема.Как нормально сделать- не знаю. Народ делал так.
Во первых мультиплексор в отдельный модуль- иначе энкаунтер его почему-то с удовольствием раскидывает по всему кристаллу.
синтзатору указывали наличие клока на цепях входящих в мультиплексор(пусть это будут clk1 и clk2).А так же клоком назначали цепь, выходящую из мультиплексора (пусть clk_out).
А потом назначали констрейны на время от фронта одного клока до фронта второго(от фронта clk1 до фронта clk_out и от фронта clk2 до фронта clk_out).
На сколько это помогает судить не могу.Впритык с этим проектом не работал.


Хм. Во первых энкаунтер отправлен далеко и на долго smile.gif С этим будет иметь дело Astro. Но это нюансы. А во вторых - этот мультиплексор ведь есть часть клокового дерева! Задержки в нем задавать в принципе не корректно. А вот управляющий сигнал должен удовлетворять требованиям по холду и сетапу перед интересующим фронтом переключаемого клока. Вот как бы это объяснить?
Mad Makc
Цитата
А во вторых - этот мультиплексор ведь есть часть клокового дерева! Задержки в нем задавать в принципе не корректно. А вот управляющий сигнал должен удовлетворять требованиям по холду и сетапу перед интересующим фронтом переключаемого клока. Вот как бы это объяснить?

Не знаю.И что обидно, что в описании на синезатор эта ситуация не разруливается.
Цитата
Хм. Во первых энкаунтер отправлен далеко и на долго С этим будет иметь дело Astro.

А чем,если не секрет, вам энкаунтер не угодил?
И ещё, в догонку smile.gif. Как на hi speed clock gating влияет? Не уменьшается скорость, по сравнению с обыкновенным клоком?
SM
Цитата(Mad Makc @ Sep 11 2006, 20:49) *
Цитата
А во вторых - этот мультиплексор ведь есть часть клокового дерева! Задержки в нем задавать в принципе не корректно. А вот управляющий сигнал должен удовлетворять требованиям по холду и сетапу перед интересующим фронтом переключаемого клока. Вот как бы это объяснить?

Не знаю.И что обидно, что в описании на синезатор эта ситуация не разруливается.

Ну либо я его плохо изучил. Буду бороться дальше.
Цитата(Mad Makc @ Sep 11 2006, 20:49) *
Цитата
Хм. Во первых энкаунтер отправлен далеко и на долго С этим будет иметь дело Astro.

А чем,если не секрет, вам энкаунтер не угодил?

Во первых интерфейс пользовательский для ручных работ кривой дюже, как и у всего кэденса (virtuoso). Во вторых - spectre - хоть и хорошо симулит, но его язык описания... Нет бы обычный спайс ел без конвертации. Из-за всего этого аналог делаю в космосе. А там БД milkyway. Потом, когда все это собирать, удобнее работать с астро, не надо всяких там lef'ов генерить, и прочую лабуду, просто работаешь на той же БД. Да и глюков-падений у энкаунтера больше, чем у астро.
Цитата(Mad Makc @ Sep 11 2006, 20:49) *
И ещё, в догонку smile.gif. Как на hi speed clock gating влияет? Не уменьшается скорость, по сравнению с обыкновенным клоком?

В моем случае - никак. У меня разрабатывается процессор, там схема записи откладывает реальную запись на один такт, сама запись происходит по гейченному инверсному клоку, а при считывании в момент такой записи читается не из самой защелки, а из конвейеризирующего регистра. Итого скорость как из регистра напрямую. Докучи - ОЗУ внутреннее асинхронное, там все те же клоко-гейтилки.
BSV
Цитата
Хм. Во первых энкаунтер отправлен далеко и на долго smile.gif С этим будет иметь дело Astro. Но это нюансы. А во вторых - этот мультиплексор ведь есть часть клокового дерева! Задержки в нем задавать в принципе не корректно. А вот управляющий сигнал должен удовлетворять требованиям по холду и сетапу перед интересующим фронтом переключаемого клока. Вот как бы это объяснить?


В статье одного из инженеров Xilinx'a предлагается интересное решение похожей задачи - как реализовать клоковый мультиплексор и избежать при этом возникновения выбросов на результирующем клоке.

Six Easy Pieces (Non-Synchronous Circuit Tricks)
http://www.xilinx.com/xlnx/xweb/xil_tx_dis...mp;iCountryID=1

Вам нужно - Asynchronous switching between two unrelated clocks.

Посмотрите - может, пригодится. Переключение работает только при наличии обоих клоков.
SM
Цитата(BSV @ Sep 12 2006, 11:03) *
Вам нужно - Asynchronous switching between two unrelated clocks.

Посмотрите - может, пригодится. Переключение работает только при наличии обоих клоков.


Извините, но я знаю, что мне нужно, и как это реализуется smile.gif Я не знаю, как это хозяйство обконстрейнить для конкретного синтезатора, и затем, описать при синтезе дерева клоков.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.