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

 
 
> Attribute clock_signal от Xilinx, Чем заменить в Altera?
Мур
сообщение Aug 3 2017, 13:03
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 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 сообщить синтезатору, чтобы защелка питалась другим глобальным тактированием?

Спасибо! tort.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dm.pogrebnoy
сообщение Aug 4 2017, 10:34
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Какая же это защелка? Это обычный регистр работающий по спадающему фронту. Зачем такое понадобилось телепатировать очень сложно. Но скорее всего оно вам не нужно. Особенно не нужно, если проект синхронный.


--------------------
Go to the top of the page
 
+Quote Post
Мур
сообщение Aug 4 2017, 10:52
Сообщение #3


Знающий
****

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



Цитата(dm.pogrebnoy @ Aug 4 2017, 13:34) *
Какая же это защелка? Это обычный регистр работающий по спадающему фронту. Зачем такое понадобилось телепатировать очень сложно. Но скорее всего оно вам не нужно. Особенно не нужно, если проект синхронный.

...вот именно так мне и надо. Мне важно, чтобы данные на время ое (в лог 0) данные не менялись. Обычный, но со своим сигналом запоминания
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 4 2017, 11:26
Сообщение #4


я только учусь...
******

Группа: Модераторы
Сообщений: 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.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Мур
сообщение Aug 4 2017, 11:40
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 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) чтобы он мог этот сигнал провести по лини тактирования. Обычная задача. Не понимаю... К чему эти сложности?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 13:42
Рейтинг@Mail.ru


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