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

Как изменить цвет фона в текстовом редакторе Active HDL

Preferences->Environment->Appearance->HDL Editor->Base Font->Background

Спасибо. Все оказалось просто :07:

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


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

Design Browser не сдается :( Фон у него остался белым. Может это можно побороть?

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


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

Design Browser не сдается :( Фон у него остался белым. Может это можно побороть?

Неужто уж так мешает? Я тоже вот все в черный фон закрасил - и HDL, и Waveform, но этот даже не пытался - как-то не мешает. Даже лучше, что он отличается от основных окон. Поменять, видимо, нельзя - там для некоторых элементов выбор фона заблокирован.

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


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

Неужто уж так мешает?

правильно. я, например, просто включаю режим ввода текста на мониторе и цвета не бьют по глазам ))

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


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

Неужто уж так мешает? Я тоже вот все в черный фон закрасил - и HDL, и Waveform, но этот даже не пытался - как-то не мешает. Даже лучше, что он отличается от основных окон. Поменять, видимо, нельзя - там для некоторых элементов выбор фона заблокирован.

Четвертую неделю сижу за HDL, занимаюсь верификацией. Раньше так долго писать код не приходилось. Глаза протестовать стали, вот я и решил все затемнить. И Design Browser заодно. Ну вот, уже день пописал с серым фоном - великолепно. И Design Browser не мешает. Вы правы.

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


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

Решил новую тему не создавать. Проблема - напрочь исчезло окошко Find (Ctrl + F). У меня два монитора. Где-то прячется после нажатия Ctrl + F. Сам ActiveHDL становится неактивным (как и полагается). Визуальный поиск ничего не дал. Может кто с таким сталкивался - как его отловить и вернуть на место?

 

ЗЫ Вечно с двумя мониторами какие-то проблемы :crying: То зум не работает в Design Capture, то окошко рисования исчезнет в Expedition. Теперь вот и в ActiveHDL беда...

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


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

Теперь новая беда. Что за

 

# KERNEL: Error: E8017 : Internal application error - please contact Aldec support - [email protected].

# KERNEL: stopped at time: 400123036 ns

# KERNEL: Simulation has stopped after unknown error.

# Fatal error occurred during simulation.

 

???

 

И больше ничего :07:

AHDL version 7.1 (build 1583)

Горе-то какое... Что ж делать - ну не contact же Aldec support - [email protected]. , в самом деле :crying: ?

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


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

Теперь новая беда. Что за

 

# KERNEL: Error: E8017 : Internal application error - please contact Aldec support - [email protected].

# KERNEL: stopped at time: 400123036 ns

# KERNEL: Simulation has stopped after unknown error.

# Fatal error occurred during simulation.

 

???

 

И больше ничего :07:

AHDL version 7.1 (build 1583)

Горе-то какое... Что ж делать - ну не contact же Aldec support - [email protected]. , в самом деле :crying: ?

так эта...есть уже 7.2 и к ней второй sp :)

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


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

так эта...есть уже 7.2 и к ней второй sp :)

То есть Вы хотите сказать, что Вы с этой проблемой знакомы и она легко решается установкой 7.2 и SP2 к нему?

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


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

2 варианта:

1. использована конструкция, которая проглатываеться компилятором, но при симуляции работает некорректно. Может быть что угодно, не тот компонент из библиотеки, проблемы с рекурсивным вызовом функций, не совпадение типов при динамическом присваивании ...... Лечиться поиском сей баги.

 

2. Возьмите моделсим и посимуляйте в нем, он намного строже относиться к написанному. и в отличие от альдека 7.1 сп2 имеет большую подержку VHDL'2002.

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


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

2 варианта:

1. использована конструкция, которая проглатываеться компилятором, но при симуляции работает некорректно. Может быть что угодно, не тот компонент из библиотеки, проблемы с рекурсивным вызовом функций, не совпадение типов при динамическом присваивании ...... Лечиться поиском сей баги.

 

2. Возьмите моделсим и посимуляйте в нем, он намного строже относиться к написанному. и в отличие от альдека 7.1 сп2 имеет большую подержку VHDL'2002.

 

Спасибо за совет. Придется попробовать в моделсиме.

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


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

Ну вот, моделсим нашел у меня идентификатор std . Это я погорячился - приношу ему свои извинения :) . Исправил на stnd .

Теперь другая беда:

 

Cannot drive signal 'am' from this subprogram.

Cannot drive signal 'a' from this subprogram.

Cannot drive signal 'write_n' from this subprogram.

Cannot drive signal 'd' from this subprogram.

Cannot drive signal 'lword_n' from this subprogram.

Cannot drive signal 'iack_n' from this subprogram.

Cannot drive signal 'as_n' from this subprogram.

Cannot drive signal 'ds0_n' from this subprogram.

Cannot drive signal 'ds1_n' from this subprogram. - говорит моделсим. :07:

 

this subprogram -это процедуры write и read, описанные в разделе деклараций архитектурного тела. В теле процедуры вызывается еще одна процедура, описанная в пакете. Кому не лень, гляньте, пожалуйста код.

 

library IEEE, GLOBAL, VME, SINTEZ;
use IEEE.STD_LOGIC_1164.all;
use GLOBAL.open_collector_package.all;
use VME.VME_bus_package.all;
use VME.VME_bus_devices_package.all;
use VME.VME_MASTER;
use SINTEZ.SINTEZ_PACKAGE.all;

entity VME_MASTER is
    generic(
        bp     : backplane;
        fmt     : functional_module_type;
        fmf     : functional_module_function;
        blt     : boolean;
        time_out     : time;
        time_delta : time
        );
    port(
        IACKOUT_n     : in std_logic    := 'Z';
        BERR_n         : inout open_collector := 'Z';
        DTACK_n                     : inout open_collector    := 'Z';
        SYSFAIL_n     : inout open_collector    := 'Z';
        IRQ1_n         : inout open_collector    := 'Z';
        IRQ2_n         : inout open_collector    := 'Z';
        IRQ3_n         : inout open_collector    := 'Z';
        IRQ4_n         : inout open_collector    := 'Z';
        IRQ5_n         : inout open_collector    := 'Z';
        IRQ6_n         : inout open_collector    := 'Z';
        IRQ7_n         : inout open_collector    := 'Z';
        A         : out std_logic_vector((bp_to_a_width(bp)-1) downto 1) := (others => 'Z');
        AM         : out std_logic_vector(5 downto 0) := (others => 'Z');
        D         : inout std_logic_vector((bp_to_d_width(bp)-1) downto 0) := (others => 'Z');
        LWORD_n                     : out std_logic         := 'Z';
        WRITE_n                     : out std_logic         := 'Z';
        DS1_n         : inout std_logic         := 'Z';
        DS0_n         : inout std_logic         := 'Z';
        AS_n         : inout std_logic         := 'Z';
        IACK_n         : inout open_collector     := 'Z';
        SYSRESET_n     : inout open_collector     := 'Z';
        IACKIN_n                     : out std_logic         := 'Z'
        );
end VME_MASTER;

architecture modeling of VME_MASTER is
    
    procedure write
        (
        variable     t_w_t             : in two_word_table;
        variable     addr_type             : in addressing_type;
        variable     f_m_f             : in functional_module_function;
        variable     byte_access_var : in byte_access
        )
        is
    begin
        check_generic(bp, fmt, fmf);
        write_cycle (
        bp             => bp,
        time_delta         => time_delta,
        time_out            => time_out,
        t_w_t             => t_w_t,
        addr_type             => addr_type,
        f_m_f            => f_m_f,
        byte_access_var        => byte_access_var,
        DTACK_n            => DTACK_n,
        BERR_n            => BERR_n,
--------------------------------------------------------------------------------------------------
        AM            => AM,
        A            => A,
        WRITE_n            => WRITE_n,
        D            => D,
        LWORD_n            => LWORD_n,
        IACK_n            => IACK_n,
        AS_n            => AS_n,
        DS0_n            => DS0_n,
        DS1_n            => DS1_n    
---------------------------------------------------------------------------------------------------    
                                );
    end write;
    
    procedure read
        (
        variable    w_t            : in word_table;
        variable     addr_type            : in addressing_type;
        variable     f_m_f            : in functional_module_function;
        variable     byte_access_var        : in byte_access;
        variable    t_w_t            : out two_word_table
        )
        is
    begin
        check_generic(bp, fmt, fmf);
        read_cycle (
        bp            => bp,
        time_delta            => time_delta,
        time_out            => time_out,
        w_t            => w_t,
        t_w_t            => t_w_t,
        addr_type            => addr_type,
        f_m_f            => f_m_f,
        byte_access_var        => byte_access_var,
        DTACK_n            => DTACK_n,
        BERR_n            => BERR_n,
-----------------------------------------------------------------------------------------------------------------------------
        AM            => AM,
        A            => A,
        WRITE_n            => WRITE_n,
        D            => D,
        LWORD_n            => LWORD_n,
        IACK_n            => IACK_n,
        AS_n            => AS_n,
        DS0_n            => DS0_n,
        DS1_n            => DS1_n
-----------------------------------------------------------------------------------------------------------------------------
        );
    end read;
    
begin
    
    PR_TEST    :process
        variable w_t        : word_table(1 to 16);
        variable t_w_t        : two_word_table(1 to 16);
        variable addr_type        : addressing_type;
        variable f_m_f        : functional_module_function;
        variable byte_access_var    : byte_access;
    begin
        wait for 250000 us;
        wait_SYSRESET: loop
            if SYSRESET_n = '0' then
                wait for time_delta;
            else
                exit;
            end if;
        end loop;
        wait for 123 us;
        t_w_t :=
        (
        (X"00000400", X"55555555"),
        (X"00000404", X"55555556"),
        (X"00000400", X"55555557"),
        (X"00000404", X"55555558"),
        (X"00000400", X"55555559"),
        (X"00000404", X"5555555A"),
        (X"00000400", X"5555555B"),
        (X"00000404", X"5555555C"),
        (X"00000400", X"5555555D"),
        (X"00000404", X"5555555E"),
        (X"00000400", X"5555555F"),
        (X"00000404", X"55555560"),
        (X"00000400", X"55555561"),
        (X"00000404", X"55555562"),
        (X"00000400", X"55555563"),
        (X"00000404", X"55555564")
        );
        addr_type         := shr;
        f_m_f             := D16;
        byte_access_var    := byte0_1;
        write(t_w_t, addr_type, f_m_f, byte_access_var);
        wait for 100 ns;
        report
        "записали"
        severity WARNING;
        w_t :=
        (
        X"00000000",
        X"00000010",
        X"00000020",
        X"00000030",
        X"00000040",
        X"00000050",
        X"00000060",
        X"00000070",
        X"00000080",
        X"00000090",
        X"000000A0",
        X"000000B0",
        X"000000C0",
        X"000000D0",
        X"000000E0",
        X"000000F0"
        );
        read(w_t, addr_type, f_m_f, byte_access_var, t_w_t);
        wait for 100 ns;
        report
        "прочитали"
        severity FAILURE;
    end process;
end modeling;

 

Строки, на которые ругается моделсим, выделены. В них передаются выходные сигналы процедур write_cycle и read_cycle (определены в пакете) на порты entity VME_MASTER.

Разъясните неграмотному, что я сделал криво.

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


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

Строки, на которые ругается моделсим, выделены. В них передаются выходные сигналы процедур write_cycle и read_cycle (определены в пакете) на порты entity VME_MASTER.

 

а где это у вас в коде ? в упор не вижу :))

 

рекомендую прочитать главу стандарта про передачу параметров в/из подпрограмм.

 

если write_cycle () это подпрограммы со входными сигналамив формальных параметрах (т.е. описано что то вроде signal pipa : in std_ulogic; ..... etc)

 

то при вызове подпрограммы write() симулятору не счем связывать эти эти формальные параметры, т.к.

реальных параметров нет. т.е. эти сигналы не объявлены в подпрограммы write () .

 

чтобы они были были объявлены необходимо описать эти сигналы в списке формальных параметров подпрограммы. impure тут не поможет.

 

верилоговский task в этих случая выгоднее :)

 

Удачи.

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


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

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

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

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

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

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

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

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

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

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