VitalyM4 0 7 июня, 2007 Опубликовано 7 июня, 2007 · Жалоба Привет Всем! Можно ли в моделисме создавать литеральные псевдонимы для состояний стейт-машин, которые бы отображались в вейвформе? Такая вещь есть в Активе, очень удобно. И чего-то не вызывается Моделсим 6.2 из 9 Айса, при всех моделированиях кроме бихевиорал. Что может быть? Спасибо заранее! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Very_hard 0 7 июня, 2007 Опубликовано 7 июня, 2007 · Жалоба Хм... не знаю как в моделсиме насчет создания псевдонимов... Но при описании fsm на вхдл с использованием перечисляемого типа(для описания состояний), в моделсиме сигнал состояния отображается литерально... естественно, только для бихевиорал моделирования... Зы: посмотрите в мануале на моделсим описание создания виртуальных типов(virtual type) - вроде то, что Вам нужно, там даже пример есть :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CodeWarrior1241 0 7 июня, 2007 Опубликовано 7 июня, 2007 · Жалоба Когда вы говорите о псевдонимах для 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? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 7 июня, 2007 Опубликовано 7 июня, 2007 · Жалоба Хм... не знаю как в моделсиме насчет создания псевдонимов... Но при описании fsm на вхдл с использованием перечисляемого типа(для описания состояний), в моделсиме сигнал состояния отображается литерально тоже справедливо и для перечисляемых типов в СистемВерилог Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
popeye 0 22 июня, 2007 Опубликовано 22 июня, 2007 · Жалоба Привет Всем! Можно ли в моделисме создавать литеральные псевдонимы для состояний стейт-машин, которые бы отображались в вейвформе? Такая вещь есть в Активе, очень удобно. И чего-то не вызывается Моделсим 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; Вот скрин из моделсима. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cyclop 0 23 июня, 2007 Опубликовано 23 июня, 2007 · Жалоба ... 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" область действия задаётся? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
popeye 0 26 июня, 2007 Опубликовано 26 июня, 2007 · Жалоба Здорово, не знал. А "-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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться