реклама на сайте
подробности

 
 
> Удвоение клока задержками логики, Да, не здоровое решение, но нужно
Саша Z
сообщение May 5 2008, 13:00
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Пытаюсь удвоить клок задержками логики:
задержать клок на входе на четверть периода, затем подать входной и задержанный на XOR и получить удвоенный клок с примерно 50% duty cycle.
Ессно, решение кривое, но что-то более серьезное сейчас нет возможности делать (есть на то причины), нужно срочно как временное решение.

Вот код:
Код
library ieee;
use ieee.std_logic_1164.all;

entity OLED_interface is
port (
    CLK_IN: in std_logic;
    and1_sig_out, and2_sig_out: out std_logic;
    CLK_OUT:             out std_logic
);
end entity;

architecture OLED_interface_arch of OLED_interface is
    attribute syn_keep: boolean;
    signal and1_sig, and2_sig, CLK_OUT_sig: std_logic;
    attribute syn_keep of and1_sig, and1_sig_out, and2_sig, and2_sig_out, CLK_OUT_sig: signal is true;

begin
            and1_sig <= CLK_IN and '1';
            and1_sig_out <= and1_sig;
            and2_sig <= and1_sig and '1';
            and2_sig_out <= and2_sig;
            
            CLK_OUT_sig <= and2_sig xor CLK_IN;
            CLK_OUT <= CLK_OUT_sig;
        
end;


первый and1_sig_out в timing simulation дает сдвиг клока, второй (and2_sig_out) не дает относительно первого - т.е. повторяет and1_sig_out в плане timingа. Это то что показывает ModelSim.
Кроме того, CLK_OUТ заткнут в нуле, XORа не делает с and2_sig...

Подскажите, в чем лажа ? (или может кто предложит более нормальное решение удвоения клока без PLLей при сохранении 40-60% duty cycle ?)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Саша Z
сообщение May 5 2008, 19:56
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Спасибо всем.
Теперь по порядку:
Boris_TS: работаю с Латтисом (ISPLever), чип о котором идет речь: семейство MachXO 2280C.

chds: да, это реальный проэкт на работе. Достался "по наследству" (тяжелое наследие), разрабатывался фирмой - подрядчиком года 2 тому, теперь дисплеы который там дарйвиться перестал выпускаться, а новая версия теерь требует значительно более высокой частоты, соответственно и логика ее драйвящая должна работать ан соотв. частотах...
Железо уже давно готово, работает (со старым дисплеем), менять чип (CPLD/FPGA) - не вариант в данной версии системы. В новой версии ессно будем менять возможно и concept, да и у Латтица тоже предостаточно нормальных чипов..
Переходник на плату то-же мало-реально, уже думали насчет этого. Физически проблематично да и нет столько времени на все это.
Насчет "не извращяться" - это верно, посему и в начале и думали в сторону PLLя чтоб держать фазу. А умножая клок с постоянной задержкой - фаза сохранялась-бы (с определенной постоянной задержкой), но опять-же ежели исключить влияния среды, работать с одной и той-же серией CPLD и т.д. и т.п.
Не понял что вы имели ввиду насчет англо-язычной литературы...
Ессно что у XORа 2 входа, и я так именно и пытаюсь делать - сделать задержку на четверть периода и ее пдоать вместе с оригинальным клоком на вход XORa. Тут и так все понятно.
А задержать на 1/4 периода пытаюсь несколькими инверторами или andами с постоянной '1' по одному входу.

Джеймс: спасибо, попробую...

А вообще я не могу не согласиться с общим мнением о проблематичности такого подхода, но как говориться: last resort...
В целом проверяю takve опцию добавить внешний PLL чип и запустить его в CPLD...
Go to the top of the page
 
+Quote Post
alexadmin
сообщение May 6 2008, 08:56
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(Саша Z @ May 5 2008, 23:56) *
Спасибо всем.
Теперь по порядку:
Boris_TS: работаю с Латтисом (ISPLever), чип о котором идет речь: семейство MachXO 2280C.


Когда-то читал статью, как у Virtex можно извлечь встроенный configuration clock на пользовательский уровень и работать от него. За давностью лет подробностей не помню. Может быть и в вашем случае попробовать посмотреть в эту сторону?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Саша Z   Удвоение клока задержками логики   May 5 2008, 13:00
- - MrYuran   возможно оптимизатор выкидывает ваши задержки, так...   May 5 2008, 13:46
|- - Саша Z   Цитата(MrYuran @ May 5 2008, 16:46) возмо...   May 5 2008, 14:25
- - sazh   Цитата(Саша Z @ May 5 2008, 17:00) Пытаюс...   May 5 2008, 14:16
- - sazh   Поставьте внешний генератор и не партесь. Даже на...   May 5 2008, 14:47
|- - Саша Z   Цитата(sazh @ May 5 2008, 17:47) Поставьт...   May 5 2008, 15:15
|- - atlantic   Цитата(Саша Z @ May 5 2008, 18:15) Да, вы...   May 5 2008, 17:06
- - Boris_TS   Есть еще один вариант задержки, он для системы опт...   May 5 2008, 16:24
- - chds   2 Саша Z Если Вы делаете проект, который должен ра...   May 5 2008, 16:53
|- - Boris_TS   С chds полностью согласел, встречался даже, что в ...   May 5 2008, 17:07
- - Andr2I   В принципе, делал такое на MAX3000. Все нормально ...   May 5 2008, 17:08
- - chds   Вот что нарылось, взял ОТСЮДА: Цитата# Как удвоить...   May 5 2008, 17:35
- - Джеймс   Вот вариант сотрудника Xilinx (Peter Alfke). См. #...   May 5 2008, 18:47
- - r_dot   Цитата(Саша Z @ May 5 2008, 23:56) ... те...   May 7 2008, 15:44
- - Саша Z   Цитата(r_dot @ May 7 2008, 19:44) Ещё вар...   May 8 2008, 15:00
- - r_dot   Цитата(Саша Z @ May 8 2008, 19:00) ... на...   May 10 2008, 04:10
|- - Саша Z   Цитата(r_dot @ May 10 2008, 08:10) Да, но...   May 10 2008, 15:46
- - Саша Z   Цитата(Саша Z @ May 8 2008, 18:00) Данный...   May 31 2008, 18:11


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 22:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01402 секунд с 7
ELECTRONIX ©2004-2016