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

 
 
> Удвоение клока задержками логики, Да, не здоровое решение, но нужно
Саша 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
Ответов
chds
сообщение May 5 2008, 16:53
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 173
Регистрация: 5-11-07
Из: Чернигов, Украина
Пользователь №: 32 078



2 Саша Z
Если Вы делаете проект, который должен работать в реальных условиях, а не для того, что бы сдать лабу вредному преподу, лучше послушать советы людей и не городить задержку на залоченных элементах. По крайней мере так, как вы написали, ваш умножитель может работать только несколько сборок проекта подряд, а на какой нибудь сборке имплементатор поменяет прохождение трассы и все задержки поехали. Если хочется всетаки ломиться в закрытые двери, то нужно прописать констрейны на каждый элемент, расположив их по разным сторонам FPGA и надеяться на то, что летом не будет сильно жарко, а зимой сильно холодно.
Как тут дела обстоят у латиса (вроде эту МС вы используете), а у ксилинкса через FPGA Editor найти все элементы нужной цени, узнать их физические имена и прописать в ucf файле жесткий лок на элемент программируемого массива ПЛИС
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение May 5 2008, 17:07
Сообщение #3


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



С chds полностью согласел, встречался даже, что в Xilinx XPLA3 проект перестал работать из-за другой партии ПЛИС.
Сделал я не очень корректное место (в блочке по переводу события с одного clk на другой). Вот пришли ПЛИС 2007 года выпуска и проект (уже готовая прошивка) перестал работать, а на ПЛИС до 2007 года все работает прекрасно. Заметьте: ревизии ПЛИС совпадают, различаются только даты производства и партии.
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
- - Andr2I   В принципе, делал такое на MAX3000. Все нормально ...   May 5 2008, 17:08
- - chds   Вот что нарылось, взял ОТСЮДА: Цитата# Как удвоить...   May 5 2008, 17:35
- - Джеймс   Вот вариант сотрудника Xilinx (Peter Alfke). См. #...   May 5 2008, 18:47
- - Саша Z   Спасибо всем. Теперь по порядку: Boris_TS: работаю...   May 5 2008, 19:56
- - alexadmin   Цитата(Саша Z @ May 5 2008, 23:56) Спасиб...   May 6 2008, 08:56
- - 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 Текстовая версия Сейчас: 26th June 2025 - 05:02
Рейтинг@Mail.ru


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