|
Подстроиться под входную частоту |
|
|
|
 |
Ответов
|
Oct 4 2010, 15:46
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Вариантов два - заменить PLL, например, на рекомендованные в документации модели с фиксированной фазой, либо жертвовать драгоценные ресурсы cpld, а их может понадобится, на синхронизацию регистров 2-3, если не получится гарантировать соотношение фаз. И еще регистр, который будет помнить фазу, ну и регистр для сброса основной схемы.
|
|
|
|
|
Oct 4 2010, 15:58
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(Shtirlits @ Oct 4 2010, 18:46)  Вариантов два - заменить PLL, например, на рекомендованные в документации модели с фиксированной фазой, В след. итерации обязательно заменю. А сейчас надо чтото с этой делать! Цитата(Shtirlits @ Oct 4 2010, 18:46)  жертвовать драгоценные ресурсы cpld, а их может понадобится, на синхронизацию регистров 2-3, если не получится гарантировать соотношение фаз. И еще регистр, который будет помнить фазу, ну и регистр для сброса основной схемы. Согласен пожертвовать! Токо не знаю как  Цитата(des00 @ Oct 4 2010, 18:46)  1. Странная у вас PLL, это точно PLL? 2. Не парить мозг, а получить 25МГц в ПЛИС. 1. Да точно PLL токо голимая. 2. Нет нужно обязательно от внешней синхронизироваться.
|
|
|
|
|
Oct 4 2010, 17:15
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(DmitryR @ Oct 4 2010, 19:36)  Как только вы свои 25МГц пропустите через логику, чтобы сделать инверсию - у нее фронт уплывет от фронта 100 МГц. Не мучайтесь, тактируйте все от 100 МГц, поставьте на них же счетчик до 4-х и от этого счетчика запитайте enable схемы, которая должна работать вчетверо медленнее. Нет. Мне надо 100MHz либо инвертировать либо нет в зависомости от 25MHz. Код always @(posedge clk_100MHz) {r[1], r[0]} <= {r[0], pipa};
assign pipa_posedge = ~r[1] & r[0]; assign pipa_negedge = r[1] & ~r[0]; assign pipa_anyedge = r[1] ^ r[0]; Намалевал схемку, токо не знаю что дальше делать с PosE,NegE,AnyE? В идеале хотелось бы подать на вход SEL mux0 0/1 для выбора нужной частоты (если оно так работать будет?)
Эскизы прикрепленных изображений
|
|
|
|
|
Oct 4 2010, 17:31
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621

|
Цитата(zombi @ Oct 4 2010, 21:15)  Нет. Мне надо 100MHz либо инвертировать либо нет в зависомости от 25MHz. А почему "нет"? Присоединяюсь к советующим использовать clock enable.
--------------------
...а Сила, Брат - она - в несиловых решениях.
|
|
|
|
|
Oct 4 2010, 18:02
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(zombi @ Oct 4 2010, 20:35)  И всетаки не понимаю как clock enable использовать??? управлять работой триггером/регистром, не пробовали?  Возьмите ниже приведенное описание (выбирать описание Вам на VHDL или на Verilog - что больше нравиться  ) и промоделируйте DFF with Positive-Edge Clock and Clock EnableЦитата Описание выводов
D -- Data Input C -- Positive-Edge Clock CE -- Clock Enable (active High) Q -- Data Output Код VHDL Code
Following is the equivalent VHDL code for the DFF with a positive-edge clock and clock Enable.
library ieee; use ieee.std_logic_1164.all;
entity flop is port(C, D, CE : in std_logic; Q : out std_logic); end flop; architecture archi of flop is begin process (C) begin if (C'event and C='1') then if (CE='1') then Q = D; end if; end if; end process; end archi;
Verilog Code
Following is the equivalent Verilog code for the DFF with a positive-edge clock and clock enable.
module flop (C, D, CE, Q); input C, D, CE; output Q; reg Q;
always @(posedge C) begin if (CE) Q = D; end endmodule И все поймете
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Oct 4 2010, 19:10
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(zombi @ Oct 4 2010, 21:53)  Как DFF with Positive-Edge Clock and Clock Enable использовать для определения фазы входной частоты??? Просто Вам пытаются сказать, что одного клока 100 Мгц достаточно для Ваших нужд. Иначе Вы бы не выбрали такое семейство для своего проекта. А с фазой можно просто поступить. По включению питания все триггера семейства устанавливаются в ноль. Значит можно организовать по включению питания одноразовую работу счетчика на частоте 25 Мгц, который сформирует синхронный rst на триггер tff, на "с" вход которого подать 200Мгц. на выходе 100, в фазе с 25. ( но фронт со сдвигом)
|
|
|
|
Сообщений в этой теме
zombi Подстроиться под входную частоту Oct 4 2010, 15:12      des00 Цитата(zombi @ Oct 4 2010, 10:20) Не силе... Oct 4 2010, 16:31       Shtirlits QUOTE (DmitryR @ Oct 4 2010, 20:36) Как т... Oct 4 2010, 17:12             zombi Цитата(sazh @ Oct 4 2010, 22:10) Значит м... Oct 4 2010, 19:40              vadimuzzz Цитата(zombi @ Oct 5 2010, 02:40) Вы прав... Oct 4 2010, 22:47       x736C Цитата(DmitryR @ Oct 4 2010, 20:36) Как т... Oct 4 2010, 17:27      sazh Цитата(zombi @ Oct 4 2010, 19:20) Не силе... Oct 4 2010, 17:07 des00 1. Странная у вас PLL, это точно PLL?
2. Не парить... Oct 4 2010, 15:46 Shtirlits страница 6 и 7
http://www.altera.com/literature/ds... Oct 4 2010, 18:20 Shtirlits Был совет не использовать внешний 25MHz-овый клок ... Oct 4 2010, 19:12 Shtirlits частота чего-то полезного 126.6MHz
Так скажите, в... Oct 4 2010, 20:33 zombi Все оказалось банально просто когда я вместо ICS51... Oct 4 2010, 23:02
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|