|
Attribute clock_signal от Xilinx, Чем заменить в Altera? |
|
|
|
Aug 3 2017, 13:03
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Привычно применял для синтезатора атрибуты, чтобы сигнал тактирования попал на вход 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 сообщить синтезатору, чтобы защелка питалась другим глобальным тактированием? Спасибо!
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Aug 3 2017, 14:03
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(dm.pogrebnoy @ Aug 3 2017, 16:36)  Что за вырвиглазный код? В нем "прекрасна" каждая строка.
По теме - буферы тактовые есть в Альтере? Выход на тактовую сеть осуществляется через них. Буду рад вашим комментам.... По теме. В системе уже есть опорная частота CLK. Эта защелка нужна на время считывания содержимого этой защелки(пока OE не станет опять лог.1). Единственная защелка latch_OE, которая тактируется асинхронно от OE/ Все остальное в синхро от CLK Как называются такие примитивы?
|
|
|
|
|
Aug 4 2017, 11:26
|

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

|
Цитата(Мур @ Aug 4 2017, 13:52)  ...вот именно так мне и надо. Мне важно, чтобы данные на время ое (в лог 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делать это как сигнал разрешения? и работать от одного клока. Зачем использовать какие-то атрибуты в таком простом описании? Пример описания тригера с разрешением я привел....
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Aug 4 2017, 11:40
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(Maverick @ Aug 4 2017, 14:26)  поясните мне пожалуйста в чем разница, если сделать так Код 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) чтобы он мог этот сигнал провести по лини тактирования. Обычная задача. Не понимаю... К чему эти сложности?
|
|
|
|
|
Aug 4 2017, 11:48
|

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

|
Цитата(Мур @ Aug 4 2017, 14:40)  Сигнал чтения от процессора ОЕ внешний. Мне выжно, чтобы код не ломался в интервале времени считывания извне. Терять время на привязке частот я не могу. Не красиво. сформировать свой сигнал разрешения на частоте логики нельзя? сделать это просто детектируем передний и задний фронт сигнала разрешения... Нужели 2-3 такта так критичны? второй вариант пусть процессор выставляет на шине время сколько должен держаться сигнал разрешения. Запускается таймер и ... Это более практичные реализации, чем Вы хотите сделать (мое мнение).
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|