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

FSM псевдонимы в Моделсиме

Привет Всем!

 

Можно ли в моделисме создавать литеральные псевдонимы для состояний стейт-машин, которые бы отображались в вейвформе?

Такая вещь есть в Активе, очень удобно.

 

И чего-то не вызывается Моделсим 6.2 из 9 Айса, при всех моделированиях кроме бихевиорал. Что может быть?

 

Спасибо заранее!

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


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

Хм... не знаю как в моделсиме насчет создания псевдонимов... Но при описании fsm на вхдл с использованием перечисляемого типа(для описания состояний), в моделсиме сигнал состояния отображается литерально... естественно, только для бихевиорал моделирования...

 

Зы: посмотрите в мануале на моделсим описание создания виртуальных типов(virtual type) - вроде то, что Вам нужно, там даже пример есть :)

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


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

Когда вы говорите о псевдонимах для FSM, имеется в виду enumerated type, типа такого:

entity enum is 
      port (CLOCK, RESET : in STD_LOGIC; 
            A, B, C, D, E: in BOOLEAN; 
            SINGLE, MULTI, CONTIG: out STD_LOGIC); 
end enum; 

architecture BEHV of enum is 

type STATE_TYPE is (S1, S2, S3, S4, S5, S6, S7);  
signal CS, NS: STATE_TYPE; 

begin 
       SYNC_PROC: process (CLOCK, RESET) 
       begin 
           if (RESET='1') then 
               CS <= S1; 
           elsif (CLOCK'event and CLOCK = '1') then 
           CS <= NS; 
           end if; 
       end process; --End SYNC_PROC 
       COMB_PROC: process (CS, A, B, C, D, E) 
       begin 
             case CS is 
             when S1 => 
                         MULTI  <= '0'; 
                         CONTIG <= '0'; 
                         SINGLE <= '0';  
.  
.  
.

Enumeration поддерживатеся ISE для синтеза, естессно что ModelSim'ом тоже.

А что такое virtual type применительно к VHDL/ModelSim?

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


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

Хм... не знаю как в моделсиме насчет создания псевдонимов... Но при описании fsm на вхдл с использованием перечисляемого типа(для описания состояний), в моделсиме сигнал состояния отображается литерально

тоже справедливо и для перечисляемых типов в СистемВерилог

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


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

Привет Всем!

 

Можно ли в моделисме создавать литеральные псевдонимы для состояний стейт-машин, которые бы отображались в вейвформе?

Такая вещь есть в Активе, очень удобно.

 

И чего-то не вызывается Моделсим 6.2 из 9 Айса, при всех моделированиях кроме бихевиорал. Что может быть?

 

Спасибо заранее!

 

Вот мой пример с верилогом, SDRAM контроллер.

 

Файл wave.do:

onerror {resume}
quietly WaveActivateNextPane {} 0
virtual type { PALL REF1 REF2 REF3 REF4 REF5 REF6 REF7 REF8 MRST IDLE REFR READ WRIT} sdram_state_type
quietly virtual function -install /sdram_tb/the_sdram -env /sdram_tb { (sdram_state_type) /sdram_tb/the_sdram/sdram_state} SDRAM_state
add wave -noupdate -format Logic /sdram_tb/clk
add wave -noupdate -format Logic /sdram_tb/wr
...
add wave -noupdate -color Pink -format Literal -radix unsigned /sdram_tb/the_sdram/sdram_state
add wave -noupdate -format Literal /sdram_tb/the_sdram/SDRAM_state
...

 

Отратите внимание на сигналы sdram_state и SDRAM_state.

 

Кусок из верилога:

// SDRAM state machine names
parameter PALL = 0;
parameter REF1 = 1;
parameter REF2 = 2;
parameter REF3 = 3;
parameter REF4 = 4;
parameter REF5 = 5;
parameter REF6 = 6;
parameter REF7 = 7;
parameter REF8 = 8;
parameter MRST = 9;
parameter IDLE = 10;
parameter REFR = 11;
parameter READ = 12;
parameter WRIT = 13;

 

Вот скрин из моделсима.

post-7750-1182500019_thumb.jpg

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


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

...
virtual type { PALL REF1 REF2 REF3 REF4 REF5 REF6 REF7 REF8 MRST IDLE REFR READ WRIT} sdram_state_type
...
quietly virtual function -install /sdram_tb/the_sdram -env /sdram_tb { (sdram_state_type) /sdram_tb/the_sdram/sdram_state} SDRAM_state
...

Здорово, не знал. А "-install /sdram_tb/the_sdram -env /sdram_tb" область действия задаётся?

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


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

Здорово, не знал. А "-install /sdram_tb/the_sdram -env /sdram_tb" область действия задаётся?

-env <path>

Specifies a hierarchical context for the signal names in <expressionString> so they don't

all have to be full paths. Optional.

-install <path>

Causes the newly-created signal to become a child of the specified region.

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


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

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

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

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

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

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

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

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

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

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