|
Работа с синхросигналами, нужна помощь. |
|
|
|
Mar 4 2009, 05:47
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Добрый день. Вопрос в следующем. Работаю с Virtex5. Есть два канала данных, и два синхросигнала SCLK и SCLKx2, где SCLKx2 - частота в два раза больше чем у SCLK. Оба синхросигнала получаются с DLL и соотвественно синхронны и, если можно так сказать "синфазны". В схеме есть места, где данные передаются с триггера тактируемого SCLK на триггер, тактируемый SCLKx2 и наоборот. Тут вроде проблем нету. Но оба канала данных обрабатываются либо параллельно, на SCLK, либо последовательно, на SLCKx2. И тут появляется огромное желание сигнал SCLK использовать еще и как логический, т.е. заводить его на Ce триггера или управлять при помощи него мультиплексором. Но чувствую, что можно нарваться. Кто-нить встречал и может дать ссылку на доку, желательно Xilinx-кую, где написано, можно так делать или нет?
|
|
|
|
|
 |
Ответов
|
Mar 4 2009, 07:17
|
Профессионал
    
Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757

|
Цитата(Михаил_K @ Mar 4 2009, 08:47)  Но чувствую, что можно нарваться. Кто-нить встречал и может дать ссылку на доку, желательно Xilinx-кую, где написано, можно так делать или нет? Делал я так. Но в качестве CE использовал не сам SCLK, а стробированный SCLKx2. Код process (Reset, SCLKx2) begin if (Reset = '1') then CE <= '0'; elsif (rising_edge(SCLKx2)) then CE <= SCLK; end if; end process;
|
|
|
|
|
Mar 4 2009, 07:53
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Делать так можно, но есть способ, при котором клок не выходит за пределы специально для него сделанных сетей и все части микросхемы и среды разработки используются по назначению. Смысл заключается в том, чтобы сделать регистр, который бы инвертировался на каждом такте быстрого клока. Тогда он будет менять свой уровень как и медленный клок. Чтобы фаза этого регистра имела связь с фазой медленного клока, нужно начинать инвертировать с привязкой к медленному клоку. Для этого нужен еще один регистр сброса. Констрейны в этом случае записываются проще и соблюдать их легче. Убедитесь в надежном соблюдении setup time. Код signal reg_phase_res, reg_phase : std_logic;
...
process (Reset, SCLK) begin if (Reset='1') then reg_phase_res <= '1'; elsif (rising_edge(SCLK)) then reg_phase_res <= '0'; end if; end process;
process (SCLKx2) begin if (rising_edge(SCLKx2)) then if (reg_phase_res='1') then reg_phase <= '1'; else reg_phase <= not reg_phase; end if; end if; end process;
-- пример использования process(SCLKx2) begin if (rising_edge(SCLKx2)) then if (reg_phase == '1') then -- заменено if (SCLK=='1') then .... else .... end if; end if; end process;
|
|
|
|
Сообщений в этой теме
Михаил_K Работа с синхросигналами Mar 4 2009, 05:47 Михаил_K Цитата(andrew_b @ Mar 4 2009, 10:17) Дела... Mar 4 2009, 07:32  andrew_b Цитата(Михаил_K @ Mar 4 2009, 10:32) А уж... Mar 4 2009, 07:48   Михаил_K Цитата(andrew_b @ Mar 4 2009, 10:48) Вы н... Mar 4 2009, 08:18    andrew_b Цитата(Михаил_K @ Mar 4 2009, 11:18) Прав... Mar 4 2009, 08:23     Михаил_K Цитата(andrew_b @ Mar 4 2009, 11:23) Фазы... Mar 4 2009, 08:37      andrew_b Цитата(Михаил_K @ Mar 4 2009, 11:37) Отку... Mar 4 2009, 09:05       DmitryR Я при возникновении похожих задач (хлопать быстрым... Mar 4 2009, 09:10        Shtirlits Цитата(DmitryR @ Mar 4 2009, 12:10) Я при... Mar 4 2009, 09:32        Михаил_K Цитата(DmitryR @ Mar 4 2009, 12:10) Я при... Mar 4 2009, 09:32    Shtirlits Цитата(Михаил_K @ Mar 4 2009, 11:18) Здес... Mar 4 2009, 09:02     Михаил_K Цитата(Shtirlits @ Mar 4 2009, 12:02) А е... Mar 4 2009, 09:27      petrov А почему нельзя использовать глобальный SCLKx2, а ... Mar 4 2009, 09:39       Михаил_K Цитата(petrov @ Mar 4 2009, 12:39) А поче... Mar 4 2009, 09:52        petrov Цитата(Михаил_K @ Mar 4 2009, 12:48) Ну т... Mar 4 2009, 09:53         Михаил_K Цитата(petrov @ Mar 4 2009, 12:53) Ошибки... Mar 4 2009, 10:33          petrov Цитата(Михаил_K @ Mar 4 2009, 13:33) Иног... Mar 4 2009, 10:48           Михаил_K Цитата(petrov @ Mar 4 2009, 13:48) Порочн... Mar 4 2009, 10:52            Shtirlits Цитата(Михаил_K @ Mar 4 2009, 13:52) Вот ... Mar 4 2009, 11:13            petrov Цитата(Михаил_K @ Mar 4 2009, 13:52) А кт... Mar 4 2009, 11:15             Михаил_K Цитата(petrov @ Mar 4 2009, 14:15) Наскол... Mar 4 2009, 11:42              Shtirlits Цитата(Михаил_K @ Mar 4 2009, 14:42) К со... Mar 4 2009, 12:04               Михаил_K Цитата(Shtirlits @ Mar 4 2009, 15:04) Ну ... Mar 4 2009, 12:12              DmitryR Цитата(Михаил_K @ Mar 4 2009, 14:42) К со... Mar 4 2009, 12:22          sergunas Цитата(Михаил_K @ Mar 4 2009, 13:33) Речь... Mar 4 2009, 10:55           Михаил_K Цитата(sergunas @ Mar 4 2009, 13:55) Клок... Mar 4 2009, 11:01            sergunas Цитата(Михаил_K @ Mar 4 2009, 14:01) Поче... Mar 4 2009, 11:09          andrew_b Цитата(Михаил_K @ Mar 4 2009, 13:33) Вот ... Mar 4 2009, 11:02        DmitryR Цитата(Михаил_K @ Mar 4 2009, 12:52) Посм... Mar 4 2009, 11:42 sergunas Цитата(Михаил_K @ Mar 4 2009, 08:47) И ту... Mar 4 2009, 10:19 Михаил_K Ну в общем ответ на свой вопрос я получил.
В лоб з... Mar 4 2009, 12:35 dvladim Цитата(Михаил_K @ Mar 4 2009, 15:35) Ну в... Mar 4 2009, 19:31  Shtirlits Цитата(dvladim @ Mar 4 2009, 22:31) Почем... Mar 4 2009, 21:42  Михаил_K Цитата(dvladim @ Mar 4 2009, 22:31) Опа, ... Mar 5 2009, 05:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|