Xilinx ISE 11....как?

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Xilinx ISE 11....как?

Сообщение nick17 »

здравствуйте всем! Начал изучать программируемую логику на примере от Xilinx. Собственно скачал последнюю версию их САПР. Нарисовал схему, но вот просимулировать не получается, вернее не могу понять как создавать тактовые сигналы на входе, что бы в Isim понаблюдать сигналы за отрезок времени t?
Реклама
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Сообщение nick17 »

что, никто ПЛИСами не занимается?
Реклама
Аватара пользователя
KT315B
Сверлит текстолит когтями
Сообщения: 1269
Зарегистрирован: Пт июл 21, 2006 15:05:19
Откуда: плод воображения
Контактная информация:

Сообщение KT315B »

R2AIV 73!
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Сообщение nick17 »

KT315B писал(а):http://radiokot.ru/start/mcu_fpga/xilinx/
в том то и дело, что там старая версия программы, и она отличается.... :?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Сообщение nick17 »

Начал изучать программируемую логику на примере от Xilinx. Собственно скачал последнюю версию их САПР(XILINX ISE 11.1). Нарисовал схему, но вот про симулировать не получается, вернее не могу понять как создавать тактовые сигналы подаваемые на вход схемы, что бы в ISim понаблюдать сигналы за отрезок времени t на выбранных выводах? в XILINX ISE 10.1 немного все по другому....
Реклама
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

Сейчас навскидку не скажу -- посмотреть времени нету. Возможно, проблема в том, что просто не подал тактовый сигнал на вход своей схемы. У каждой отладочной платы своя разводка ног ПЛИС, вот и надо посмотреть, на какую генератор завязан.

Или вопрос не об этом?
Реклама
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Сообщение nick17 »

SII писал(а):Сейчас навскидку не скажу -- посмотреть времени нету. Возможно, проблема в том, что просто не подал тактовый сигнал на вход своей схемы. У каждой отладочной платы своя разводка ног ПЛИС, вот и надо посмотреть, на какую генератор завязан.

Или вопрос не об этом?
Ну почти, ты в железе имеешь виду, а я в про симулятор работы, ISim, работал в таком?
Аватара пользователя
KT315B
Сверлит текстолит когтями
Сообщения: 1269
Зарегистрирован: Пт июл 21, 2006 15:05:19
Откуда: плод воображения
Контактная информация:

Сообщение KT315B »

Надо, короче скачать 11-ю ISE и посмотреть, а то я со своей 9.2, чувствую, совсем от времени отстал...
R2AIV 73!
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

nick17 писал(а):
SII писал(а):Сейчас навскидку не скажу -- посмотреть времени нету. Возможно, проблема в том, что просто не подал тактовый сигнал на вход своей схемы. У каждой отладочной платы своя разводка ног ПЛИС, вот и надо посмотреть, на какую генератор завязан.

Или вопрос не об этом?
Ну почти, ты в железе имеешь виду, а я в про симулятор работы, ISim, работал в таком?
А, в симе... Помню, что с этим долго мучился, но как-то сделал, но в чём проблема была -- убей не помню (тем более что потом я его не использовал -- пока сложные схемы не делал, а посему обходился без симуляции). Посмотреть сейчас, как говорил, времени нет (работа, блин), но если вспомню или время появится -- напишу.
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Сообщение nick17 »

Народ! Качайте 11 версию Xilinx ISE! Давайте вместе разбираться!!! :))
pesicot
Родился
Сообщения: 15
Зарегистрирован: Пт июн 26, 2009 14:31:59
Откуда: Россия г. Ульяновск

Сообщение pesicot »

Когда увидел пост обрадовался, подумал что я не один! Сам с неделю назад поставил 11 версию Xilinx ISE.
Насколько я понял из одного файла документации с сайта сигналы задаются с помощью модулей на verilog или vhdl.
Думаю что нужно в этом направлении двигаться. Может сегодня ночью сделаю еще одну попытку.
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Сообщение nick17 »

pesicot писал(а):Когда увидел пост обрадовался, подумал что я не один! Сам с неделю назад поставил 11 версию Xilinx ISE.
Насколько я понял из одного файла документации с сайта сигналы задаются с помощью модулей на verilog или vhdl.
Думаю что нужно в этом направлении двигаться. Может сегодня ночью сделаю еще одну попытку.
Вдвоем уже проще будет разбираться! :)) Я тоже этот вариант рассматривал, но не пробовал. Завтра тоже сделаю n-ую попытку чтобы понять... А этот файл документации, в котором видел, можешь его выложить, или это было мельком?
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

nick17 писал(а):Народ! Качайте 11 версию Xilinx ISE! Давайте вместе разбираться!!! :))
Только что выяснил, что я полный идиот :) Я ж использовал версию 10.1, а не 11 :))) Так что качаю 11-ю, буду разираться завтра (благо работу спихнул, завтра день свободный).
pesicot
Родился
Сообщения: 15
Зарегистрирован: Пт июн 26, 2009 14:31:59
Откуда: Россия г. Ульяновск

Сообщение pesicot »

nick17 писал(а): Вдвоем уже проще будет разбираться! :)) Я тоже этот вариант рассматривал, но не пробовал. Завтра тоже сделаю n-ую попытку чтобы понять... А этот файл документации, в котором видел, можешь его выложить, или это было мельком?
Кажеться нашел. Осталось только повнимательней почитать!
Ограничения на вложения :(

Вот http://www.xilinx.com/support/documenta ... /ug682.pdf
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Сообщение nick17 »

SII писал(а):
nick17 писал(а):Народ! Качайте 11 версию Xilinx ISE! Давайте вместе разбираться!!! :))
Только что выяснил, что я полный идиот :) Я ж использовал версию 10.1, а не 11 :))) Так что качаю 11-ю, буду разираться завтра (благо работу спихнул, завтра день свободный).
Давай давай! Вместе веселее и проще будет я думаю! 8)
pesicot
Родился
Сообщения: 15
Зарегистрирован: Пт июн 26, 2009 14:31:59
Откуда: Россия г. Ульяновск

Сообщение pesicot »

Все! Я разобрался с проблемой. Я был прав, сигналы задаются с помощью модулей на VHDL и Verilog. Правильнее сказать сигналы можно так задавать. По крайней мере у меня получилось это сделать на VHDL.

Итак: нужно добавить в проект модуль с типом "VHDL Test Bench" ISE сгенерирует компонент в котором все порты будут сопоставлены сигналам и этим сигналам можно будет задавать значения.

Сам еще не силен в этом (портах, сигналах, да и вообще в VHDL и Verilog)

Я спать. Завтра набросаю инструкцию с картинками если кого-нибудь заинтересует…
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Сообщение nick17 »

pesicot писал(а):Все! Я разобрался с проблемой. Я был прав, сигналы задаются с помощью модулей на VHDL и Verilog. Правильнее сказать сигналы можно так задавать. По крайней мере у меня получилось это сделать на VHDL.

Итак: нужно добавить в проект модуль с типом "VHDL Test Bench" ISE сгенерирует компонент в котором все порты будут сопоставлены сигналам и этим сигналам можно будет задавать значения.

Сам еще не силен в этом (портах, сигналах, да и вообще в VHDL и Verilog)

Я спать. Завтра набросаю инструкцию с картинками если кого-нибудь заинтересует…
Спасибо!!! Да уж, что то я недокумекал до этого))) Конечно нужно, хотя и сам щас попробую как ты написал сделать, может и разберусь 8)
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

Вот как генерят синхросигнал в тестбенче из примера, используемого в обучалке по ISim:

Код: Выделить всё

        PROCESS    -- clock process for clk_in
        BEGIN
            CLOCK_LOOP : LOOP
                clk_in <= '0';
                WAIT FOR PERIOD * 0.5;
                clk_in <= '1';
                WAIT FOR PERIOD * 0.5;
            END LOOP CLOCK_LOOP;
        END PROCESS;
Если перевести на русский: на линии clk_in выставляется 0, через полпериода синхронизации (PERIOD определена как константа в коде выше, там она равна 10000 ps, т.е. 10 нс) выставляется 1, через очередные полпериода -- снова нуль и т.д. Частота в данном случае равна 100 МГц, поскольку период установлен равным 10 нс.
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

А вот моя жутко примитивная схемка (одноразрядный компаратор: выдаёт на выходе 1, если оба входа равны) и тестбенч к ней. Как ни странно, симуляция работает :)

Это компаратор:

Код: Выделить всё

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Comparator1 is
    Port ( A : in  STD_LOGIC;
           B : in  STD_LOGIC;
           EQ : out  STD_LOGIC);
end Comparator1;

architecture Behavioral of Comparator1 is
  signal P0, P1 : STD_LOGIC;
begin
  EQ <= P0 or P1;
  P0 <= (not A) and (not B);
  P1 <= A and B;
end Behavioral;
А это тестбенч:

Код: Выделить всё

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Comparator1 is
    Port ( A : in  STD_LOGIC;
           B : in  STD_LOGIC;
           EQ : out  STD_LOGIC);
end Comparator1;

architecture Behavioral of Comparator1 is
  signal P0, P1 : STD_LOGIC;
begin
  EQ <= P0 or P1;
  P0 <= (not A) and (not B);
  P1 <A> A,
    B => B,
    EQ => EQ
  );

  -- Собственно процесс тестирования
  stim_proc: process
    variable Message : line;
  begin
    -- Ожидание для выполнения начального сброса схемы
    wait for 100 ns;
    -- Первый тест
    A <= '0';
    B <= '0';
    wait for 5 ns;
    if EQ = '1' then
      Write(Message, "Test 1 PASS");
    else
      Write(Message, "Test 1 FAIL");
    end if;
    WriteLine(Output, Message);
    wait for 95 ns;
    -- Второй тест
    A <= '0';
    B <= '1';
    wait for 5 ns;
    if EQ = '0' then
      Write(Message, "Test 2 PASS");
    else
      Write(Message, "Test 2 FAIL");
    end if;
    WriteLine(Output, Message);
    wait for 95 ns;
    -- Третий тест
    A <= '1';
    B <= '0';
    wait for 5 ns;
    if EQ = '0' then
      Write(Message, "Test 3 PASS");
    else
      Write(Message, "Test 3 FAIL");
    end if;
    WriteLine(Output, Message);
    wait for 95 ns;
    -- Четвёртый тест
    A <= '1';
    B <= '1';
    wait for 5 ns;
    if EQ = '1' then
      Write(Message, "Test 4 PASS");
    else
      Write(Message, "Test 4 FAIL");
    end if;
    WriteLine(Output, Message);
    wait for 95 ns;
    -- Тестирование закончено
    assert false report "Simu1ation Comp1eted" severity failure;
  end process;
END;
Аватара пользователя
nick17
Встал на лапы
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07
Контактная информация:

Сообщение nick17 »

Ты это сам написал или скопировал откуда то?! :) У меня твоя программа не хочет работать и выдает целую кучу синтаксических ошибок :(
Ответить

Вернуться в «ПЛИС»