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

 
 
> Обычный триггер, Пытаюсь наваять в Libero
kkosik
сообщение Sep 10 2012, 11:20
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 8-09-12
Пользователь №: 73 445



Друзья, пытаюсь запустить симуляцию триггера, но ничегошеньки не получается. На работе пришлось осваивать Либеро и Actel-евские FPGA. А в универе 2 года назад был ISE, хотя сейчас уже ни черта не помню...

Основной вопрос в Test Bench'е - не пойму вообще как в нем что писать!

Собственно код:
Код
-- trigger1.vhd
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
LIBRARY IEEE;
USE IEEE.std_logic_unsigned.all;

entity dff is
port (data, clk : in std_logic;
      q : out std_logic);
end dff;


architecture behav of dff is
begin
process (clk) begin
    if (clk'event and clk='1') then
        q <= data;
    end if;
end process;
end behav;


Тэст:
Код
-- trigger1_tb.vhd
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
LIBRARY IEEE;
USE IEEE.std_logic_unsigned.all;

entity trigger1_tb is
end trigger1_tb;

architecture tb_arch of trigger1_tb is

component dff
    port(data : in std_logic;
         clk : in std_logic;
         q : out std_logic);    
end component;

shared variable END_SIM: boolean := false;

signal D : std_logic:='0';
signal C : std_logic:='0';
signal Q : std_logic:='0';

begin
    UUT : dff
    port map (data => D,
               clk => C,
                 q => Q);

CLK_GEN: process begin
    if not END_SIM then
    C <= '0';
    wait for 10 ns;
    C <= '1';
    wait for 10 ns;
    else wait;
    end if;
end process;

STIMULUS: process begin
    D <= '1';
    wait for 200 ns;
    D <= '0';
    wait for 200 ns;
    END_SIM := TRUE;
    wait;
   end process;



end tb_arch;


Помогите разобраться, плиз! crying.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kkosik
сообщение Sep 10 2012, 11:49
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 8-09-12
Пользователь №: 73 445



Еллочка, спасибо, я представляю, что он делает примерно. Но не понимаю, почему не запускается?!
Исправил чу-чуть ТБ:
Код
-- trigger1_tb.vhd
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
LIBRARY IEEE;
USE IEEE.std_logic_unsigned.all;

entity trigger1_tb is
end trigger1_tb;

architecture tb_arch of trigger1_tb is

component dff
    port(data : in std_logic;
         clk : in std_logic;
         q : out std_logic);    
end component;

--shared variable END_SIM: boolean := false;

signal D : std_logic:='0';
signal C : std_logic:='0';
signal Q : std_logic:='0';

begin
    UUT : dff
    port map (data => D,
               clk => C,
                 q => Q);

CLK_GEN: process begin
    --if not END_SIM then
    C <= '0';
    wait for 10 ns;
    C <= '1';
    wait for 10 ns;
    C <= '0';
    wait for 10 ns;
    C <= '1';
    wait for 10 ns;
    --else wait;
    --end if;
end process;

STIMULUS: process begin
    D <= '0';
    wait for 20 ns;
    D <= '1';
    wait for 20 ns;
    D <= '0';
    wait for 20 ns;
    --END_SIM := TRUE;
    --wait;
end process;

end;


НО!! ModelSim ругается:
Код
# ** Error: (vsim-3170) Could not find 'E:\Libero_Projects\Trigger1\simulation\presynth.testbench'.
# Error loading design
# Error: Error loading design
#        Pausing macro execution
# MACRO ./run.do PAUSED at line 15

Не понимаю, в чем дело??
Go to the top of the page
 
+Quote Post
Ellochka
сообщение Sep 10 2012, 11:55
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-07-09
Из: Москва
Пользователь №: 50 965



Цитата(kkosik @ Sep 10 2012, 15:49) *
НО!! ModelSim ругается:
Код
# ** Error: (vsim-3170) Could not find 'E:\Libero_Projects\Trigger1\simulation\presynth.testbench'.
# Error loading design
# Error: Error loading design
#        Pausing macro execution
# MACRO ./run.do PAUSED at line 15

Не понимаю, в чем дело??



Я запускала в iSim'e, все нормально, да и визуально тоже. При чем тут 15 строка, не понятно. А ты в ModelSim'e хоть что-нибудь запускал? возможно не подключены какие-нибудь библиотеки? С кодом все в порядке.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th August 2025 - 05:09
Рейтинг@Mail.ru


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