Перейти к содержанию
    

Квартус. Структура пина.

Каждый вывод Циклона содержит сложную внутреннюю структуру. Можно управлять задержками, выходным током и наклоном фронтов. Также они содержат 3 триггера с соответствующими цепями управления. Как ими воспользоваться. Нужен пример использования компонента этого IOE модуля на языке VHDL и в какой библиотеке этот компонент находиться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каждый вывод Циклона содержит сложную внутреннюю структуру. Можно управлять задержками, выходным током и наклоном фронтов. Также они содержат 3 триггера с соответствующими цепями управления. Как ими воспользоваться. Нужен пример использования компонента этого IOE модуля на языке VHDL и в какой библиотеке этот компонент находиться?

 

Наверно можно посмотреть на alt_outbuf_tri, alt_outbuf, alt_inbuf и alt_iobuf из библиотеки altera_primitives_components (в директории quartusxx\libraries\vhdl\altera).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверно можно посмотреть на alt_outbuf_tri, alt_outbuf, alt_inbuf и alt_iobuf из библиотеки altera_primitives_components (в директории quartusxx\libraries\vhdl\altera).

 

Ничего я там не нашел в этих примитивах... :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

те компоненты , на которые вы дали ссылку - это соединённые напрямую, без использования возможности продвинутой внутренней логики выводов!!!!!

 

есть в библиотеке громоздкий компонент для DDR но на сколько я понимаю возможность подключить его существует не ко всем выводам - или я не прав?????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего я там не нашел в этих примитивах... :(

 

Прошу прощения, это действительно не совсем то:).

 

Собственно, а зачем Вам нужен именно компонет для I/O? Опишите регистровый вход/выход с регистровым сигналом разрешения и задайте констрейны на размещение этих регистров в самом IOE.

 

Например вот так:

 

entity PRIMER_IO is

port (... Signal_IO : inout std_logic; ... );

end entity PRIMER_IO;

 

architecture Arch_1 of PRIMER_IO is

begin

 

Signal_IO <= Data_Out_Reg when (Signal_En_Reg = '1') else 'Z';

 

REG_IO_PROC: process (clk, Data_Out, Signal_En, Signal_IO)

begin

if clk'event and clk = '1' then

Data_Out_Reg <= Data_Out;

Signal_En_Reg <= Signal_En;

Data_In_Reg <= Signal_IO;

end if;

end process REG_IO_PROC;

 

end Arch_1;

 

Констрейны:

 

set_instance_assignment -name fast_output_register on -to Data_Out_Reg

set_instance_assignment -name fast_input_register on -to Data_In_Reg

set_instance_assignment -name fast_output_enable_register on -to Signal_En_Reg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При использовании некоторых мегакоре ядер при установленом флаге что-то связанное с ClearBox - Quartus генерит абсолютно читабельный VHDL исходник, в котором можно посмотреть и примеры использования примитивов пинов и IO блоков. К сожалению, можно только посмотреть - при попытке использовать обычно нарываешься на абсолютное отсутствие документации по компоненту. По этой причине надо делать так, как говорит Самурай - писать код на чистом VHDL и укладывать его в IOB констрейнами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно в тексте исходника, объявляя специфические аттрибуты, можно в файле настройки проекта - *.qpf, если память не изменяет. Оба способа рабочие.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

более точно сформулирую вопрос

 

есть проект в котором верхний уровень схема с пинами входов и выходов

там в виде блоков стоит ПЛЛ и ещё куча блоков

так вот!!!!!

пин называется n_oe_mem - это выход проекта

в блоке откуда он идёт он называется так-же

 

 

кусок этого блока

 

process (Clk_in)

begin

if (Clk_in'event and Clk_in = '0')

then

if del_2_rd_adr ='1'

then

n_oe_mem <= '1';

else

n_oe_mem <= '0';

end if;

end if;

end process ;

 

 

в tcl файле записана строка

set_instance_assignment -name fast_output_register on -to n_oe_mem

 

и ничего собственно не происходит регистр не переходит в вывод

 

как правильно писать и где ошибка????????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шас под руками Quartus'а нет, но по виду вроде все правильно - должно работать нормально. Доберусь до работы смогу сказать более точно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с этим я разобрался - просто надо не в файл писать а в ассигнет меню это сделать

 

можно-ли так обозначить не отдельный регистр, а массив - несколько бит одновременно

единичный он перенёс в выводной триггер - а группу не хочет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...