Мур 1 3 августа, 2017 Опубликовано 3 августа, 2017 · Жалоба Привычно применял для синтезатора атрибуты, чтобы сигнал тактирования попал на вход CLK триггера Делал так ENTITY latch_OE IS port( oe : in std_logic; timer_in : in natural range 0 to 2**16-1; timer_out : out natural range 0 to 2**16-1 ); attribute clock_signal : string; attribute clock_signal of oe : signal is "yes"; attribute period : string; attribute period of oe : signal is "15 ns"; end latch_OE; architecture arh of latch_OE is begin process(oe) begin if (falling_edge(oe)) then timer_out <= timer_in; end if; end process; end arh; Однако Ква плевал на мою просьбу Warning (332060): Node: OE was determined to be a clock but was found without an associated clock assignment. Как в новой среде QuartusII сообщить синтезатору, чтобы защелка питалась другим глобальным тактированием? Спасибо! :tort: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 3 августа, 2017 Опубликовано 3 августа, 2017 · Жалоба Что за вырвиглазный код? В нем "прекрасна" каждая строка. По теме - буферы тактовые есть в Альтере? Выход на тактовую сеть осуществляется через них. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 3 августа, 2017 Опубликовано 3 августа, 2017 · Жалоба Что за вырвиглазный код? В нем "прекрасна" каждая строка. По теме - буферы тактовые есть в Альтере? Выход на тактовую сеть осуществляется через них. Буду рад вашим комментам.... По теме. В системе уже есть опорная частота CLK. Эта защелка нужна на время считывания содержимого этой защелки(пока OE не станет опять лог.1). Единственная защелка latch_OE, которая тактируется асинхронно от OE/ Все остальное в синхро от CLK Как называются такие примитивы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 4 августа, 2017 Опубликовано 4 августа, 2017 · Жалоба Какая же это защелка? Это обычный регистр работающий по спадающему фронту. Зачем такое понадобилось телепатировать очень сложно. Но скорее всего оно вам не нужно. Особенно не нужно, если проект синхронный. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 4 августа, 2017 Опубликовано 4 августа, 2017 · Жалоба Какая же это защелка? Это обычный регистр работающий по спадающему фронту. Зачем такое понадобилось телепатировать очень сложно. Но скорее всего оно вам не нужно. Особенно не нужно, если проект синхронный. ...вот именно так мне и надо. Мне важно, чтобы данные на время ое (в лог 0) данные не менялись. Обычный, но со своим сигналом запоминания Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 4 августа, 2017 Опубликовано 4 августа, 2017 · Жалоба ...вот именно так мне и надо. Мне важно, чтобы данные на время ое (в лог 0) данные не менялись. Обычный, но со своим сигналом запоминания поясните мне пожалуйста в чем разница, если сделать так 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; зачем плодить "тактовые частоты" (gated clock) if (falling_edge(oe)) then чем не устраивет cделать это как сигнал разрешения? и работать от одного клока. Зачем использовать какие-то атрибуты в таком простом описании? Пример описания тригера с разрешением я привел.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 4 августа, 2017 Опубликовано 4 августа, 2017 · Жалоба поясните мне пожалуйста в чем разница, если сделать так 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; зачем плодить "тактовые частоты" чем не устраивет cделать это как сигнал разрешения? и работать от одного клока. Зачем использовать какие-то атрибуты в таком простом описании? Пример описания тригера с разрешением я привел.... Сигнал чтения от процессора ОЕ внешний. Мне выжно, чтобы код не ломался в интервале времени считывания извне. Терять время на привязке частот я не могу. Не красиво. Вообще ведь простой вопрос. В ПЛИС могут быть несколько глобальных сигналов и синтезатору можно дать сообщение атрибутом,(как эьл делалось в Xilinx) чтобы он мог этот сигнал провести по лини тактирования. Обычная задача. Не понимаю... К чему эти сложности? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 4 августа, 2017 Опубликовано 4 августа, 2017 · Жалоба Сигнал чтения от процессора ОЕ внешний. Мне выжно, чтобы код не ломался в интервале времени считывания извне. Терять время на привязке частот я не могу. Не красиво. сформировать свой сигнал разрешения на частоте логики нельзя? сделать это просто детектируем передний и задний фронт сигнала разрешения... Нужели 2-3 такта так критичны? второй вариант пусть процессор выставляет на шине время сколько должен держаться сигнал разрешения. Запускается таймер и ... Это более практичные реализации, чем Вы хотите сделать (мое мнение). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 4 августа, 2017 Опубликовано 4 августа, 2017 · Жалоба сформировать свой сигнал разрешения на частоте логики нельзя? сделать это просто детектируем передний и задний фронт сигнала разрешения... Нужели 2-3 такта так критичны? второй вариант пусть процессор выставляет на шине время сколько должен держаться сигнал разрешения. Запускается таймер и ... Это более практичные реализации, чем Вы хотите сделать. У меняя ОЕ длительностью не более 26нС. Тесно в таком интервале. Тут нужен только архитектурный трюк для синтезатора, чтобы он подвел ОЕ на счетный вход регистра. Какие способы есть у QurtusII? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 4 августа, 2017 Опубликовано 4 августа, 2017 · Жалоба У меняя ОЕ длительностью не более 26нС. Тесно в таком интервале. Тут нужен только архитектурный трюк для синтезатора, чтобы он подвел ОЕ на счетный вход регистра. Какие способы есть у QurtusII? поднять тактовую частоту логики до 200 - 250МГц будет 5-6 тактов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 4 августа, 2017 Опубликовано 4 августа, 2017 · Жалоба поднять тактовую частоту логики до 200 - 250МГц будет 5-6 тактов Я это держу в голове... Только хочется привычным способом. Без такого напряга. Какие-то несчастные 16 триггеров для удержания... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 9 августа, 2017 Опубликовано 9 августа, 2017 · Жалоба По теме - буферы тактовые есть в Альтере? Выход на тактовую сеть осуществляется через них. Можно ссылку на этого зверя?.. Чтобы было понятно, как им верно пользоваться... Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 9 августа, 2017 Опубликовано 9 августа, 2017 · Жалоба Гуглите Clocking Resources для вашего семейства. Для Xilinx Virtex-6, например: https://www.xilinx.com/support/answers/36991.html С Альтерой не работал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 9 августа, 2017 Опубликовано 9 августа, 2017 · Жалоба Гуглите Clocking Resources для вашего семейства. С Альтерой не работал. С Xilinx проще... Тут Альтера ждет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 10 августа, 2017 Опубликовано 10 августа, 2017 · Жалоба вы можете добавить в sdc файл строку: create_clock -period "15 ns" -name {oe} {oe} Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться