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

Запаралелить два пина.

Есть модуль

entity DE10_LITE is
port
    (

    -- CLOCK 
    ADC_CLK_10    : in std_logic;                           
    MAX10_CLK1_50 : in std_logic;                          
    MAX10_CLK2_50 : in std_logic;                      
    
    TEST1 : out std_logic;
    TEST2 : out std_logic;
    TEST3 : out std_logic;
    TEST4 : out std_logic;

    --MASTER SPI
    MSPI_CLK  : out std_logic;
    MSPI_CS   : out std_logic;
    MSPI_MOSI : out std_logic;
    MSPI_MISO : in std_logic;
    
    --SLAVE SPI
    SSPI_CLK  : in std_logic;
    SSPI_CS   : in std_logic;
    SSPI_MOSI : in std_logic;
    SSPI_MISO : out std_logic
    
);
end DE10_LITE;

 

Хочу вывести сигналы на дополнительные пины чтоб удобно было замерять.

 

Так я сделать не могу.

TEST1 <= MSPI_CLK;
TEST2 <= MSPI_CS;

Через сигнал тоже ругается. А как тогда?

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


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

Есть модуль

entity DE10_LITE is
port
    (

    -- CLOCK 
    ADC_CLK_10    : in std_logic;                           
    MAX10_CLK1_50 : in std_logic;                          
    MAX10_CLK2_50 : in std_logic;                      
    
    TEST1 : out std_logic;
    TEST2 : out std_logic;
    TEST3 : out std_logic;
    TEST4 : out std_logic;

    --MASTER SPI
    MSPI_CLK  : out std_logic;
    MSPI_CS   : out std_logic;
    MSPI_MOSI : out std_logic;
    MSPI_MISO : in std_logic;
    
    --SLAVE SPI
    SSPI_CLK  : in std_logic;
    SSPI_CS   : in std_logic;
    SSPI_MOSI : in std_logic;
    SSPI_MISO : out std_logic
    
);
end DE10_LITE;

 

Хочу вывести сигналы на дополнительные пины чтоб удобно было замерять.

 

Так я сделать не могу.

TEST1 <= MSPI_CLK;
TEST2 <= MSPI_CS;

Через сигнал тоже ругается. А как тогда?

 

когда вы соединяете модули для топ левела, сделаете/объявите сигналы reg_MSPI_CLK и reg_MSPI_CS и их уже выводите наружу на 1 или несколько пинов

 

MSPI_CLK <= reg_MSPI_CLK;

MSPI_CS <= reg_MSPI_CS;

 

test0 <= reg_MSPI_CLK;

test1 <= reg_MSPI_CS;

 

PS Выложите файл топ левела...

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


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

Чтение выходных портов в VHDL запрещено. Нужно либо объявлять как buffer\inout (что раньше, вроде, могло привести к проблемам при синтезе), либо назначать TEST1 не MSPI_CLK, а тот сигнал или входной порт, который назначается самому MSPI_CLK. Аналогично со вторым. Рекомендую все же второй вариант.

Изменено пользователем Tausinov

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


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

когда вы соединяете модули для топ левела, сделаете/объявите сигналы reg_MSPI_CLK и reg_MSPI_CS и их уже выводите наружу на 1 или несколько пинов

 

MSPI_CLK <= reg_MSPI_CLK;

MSPI_CS <= reg_MSPI_CS;

 

test0 <= reg_MSPI_CLK;

test1 <= reg_MSPI_CS;

 

PS Выложите файл топ левела...

так работает. спасибо.

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


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

В VHDL'2008 разрешили.

А насколько актуально писать на VHDL'2008 ? Там много фишек полезных. Но самое странное, что я пока нигде не встречал его применение, во всяком случае в различных примерах устройств, скачиваемых на просторах всемирной помойки сети.

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


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

А насколько актуально писать на VHDL'2008 ? Там много фишек полезных. Но самое странное, что я пока нигде не встречал его применение, во всяком случае в различных примерах устройств, скачиваемых на просторах всемирной помойки сети.

вот мне тоже интересен этот вопрос. поставил галку на VHDL-2008. скомпилировал. ничего не изменинлось.

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


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

А насколько актуально писать на VHDL'2008 ?

 

Ну, если ваш софт его поддерживает и вы уверены, что не придется его переносить или передавать куда-то, где такого софта не будет, то это очень даже актуально.

 

Из того, чем сам пользуюсь:

process(all) - позволяет наделать меньше ошибок, например.

Возможность назначить входному порту не сигнал, а какое-то выражение, т.е. не нужно заводить лишний сигнал.

 

Плюс то же чтение выходных портов, про которое написали выше. Там еще немаленький список нововведений, но все упирается в вопрос о частоте их использования.

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


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

Ну, если ваш софт его поддерживает и вы уверены, что не придется его переносить или передавать куда-то, где такого софта не будет, то это очень даже актуально.

 

Из того, чем сам пользуюсь:

process(all) - позволяет наделать меньше ошибок, например.

Возможность назначить входному порту не сигнал, а какое-то выражение, т.е. не нужно заводить лишний сигнал.

 

Плюс то же чтение выходных портов, про которое написали выше. Там еще немаленький список нововведений, но все упирается в вопрос о частоте их использования.

а что значит all - все пихаем в сенсетивити лист? зачем?

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


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

Если на тестовых ногах хочется наблюдать сигналы вживую (с помощью светодиодов, осциллографа, логического анализатора), то можно посмотреть в сторону Logic Analyzer Interface (для Altera). Можно будет и внутренние сигналы смотреть, не вытаскивая их на верхний уровень.

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


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

а что значит all - все пихаем в сенсетивити лист? зачем?

 

Чтобы не перечислять их все ручками, в комбинаторной логике могут быть проблемы, если что-то упустить.

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


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

Если на тестовых ногах хочется наблюдать сигналы вживую (с помощью светодиодов, осциллографа, логического анализатора), то можно посмотреть в сторону Logic Analyzer Interface (для Altera). Можно будет и внутренние сигналы смотреть, не вытаскивая их на верхний уровень.

Пробовал настроить SignalTap Logic Analyzer. Что то не завелся с первого раза.

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


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

Пробовал настроить SignalTap Logic Analyzer. Что то не завелся с первого раза.

посмотрите это

 

Телепаты в отпуске. Если пишите проблему, то пожалуйста напишете что было сделано для понимания остальных форумчан...

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


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

посмотрите это

 

Телепаты в отпуске. Если пишите проблему, то пожалуйста напишете что было сделано для понимания остальных форумчан...

Когда подключаю модуль он не показывает все пины. Соответственно при выборе источника клока не могу задать ему клоковый пин. И когда запускаю аналайзер он пишет waiting for clock...и честно ожидает.

 

В окне Node Finder в Look In выбираю модуль (vhd файл). нажимаю на List и внизу появляется спиок всех сигналов и пинов. так некоторые пины и сигналы он не показывает в том числе и клок.

Изменено пользователем Jenya7

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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