LDV50 Резултатите от симулацията Debug btwen и fastrun разминаване?

A

Aramis

Guest
Аз срещат сериозен проблем, че когато пускам Ncverilog с код ми в нормата (nondebug) режим всичко е наред, но когато аз употреба linedebug режим (искам да изхвърли някои вълна), ми код просто се провали.
Как може да бъде?е то ритъм бъг?и ми код работи добре, когато се използва Modelsim5.7Моят колеж също овладяване на тези проблеми, неговият код работи добре в modelsim (имат опита 5,5 ~ 5,7 veriosn), но то не в cadnece ncverilog нормален режим в определен момент.(Опитвам се Ncverilog 2.2, 3.0, 3.1, 4.0 и LDV5.0, всички те не успее в една и съща точка)

Кой е знак за качество на разстояние?modelsim или Cadence?
Трябва да вярваме, кого?Моят код е..................

Винаги @ (sel_DMA_or_fastme_currram или src_datai или
me_mc_curr_datai или me_mc_curr_datai_low или me_mc_curr_datai_high
или src_write_addr или src_write_addr или mc_write_fastme_idx или
me_mc_write_en)

започвам

IF (sel_DMA_or_fastme_currram == 1) / / изберете вход от ДМА
започвам
mbbuf_datai = src_datai;
mbuf_src_write_addr = src_write_addr;
mbuf_write_en = src_write_en; <=== Тази линия *
приключвам
друго / / изберете вход от FastME CurrRAM
започвам
IF (mc_write_fastme_idx [0] == 1'b1)
започвам
mbbuf_datai = me_mc_curr_datai_low;
приключвам
в противен случай
започвам
mbbuf_datai = me_mc_curr_datai_high;
приключвам

mbuf_src_write_addr = mc_write_fastme_idx;
mbuf_write_en = me_mc_write_en; <===== Тази линия *
приключвам
приключвамsrc_mb mb_buffer (CLK, mubbuf_src_sel_bank_w, src_read_addr, src_datao, mbuf_src_write_addr, mbuf_write_en, mbbuf_datai);
^^^^^^^^^^ Mbuf_write_en

................................................В горния код се провали, защото аз виждам на вълната и дъмп
"mbuf_write_en" се забави един цикъл от
"me_mc_write_en / src_write_en" сигнали ---------> причина ми код не успее

Ако аз вземам src_write_en / mbuf_write_en / me_mc_write_en извън
и напишете друга логика винаги комбинация, то УСПЕХВинаги @ (me_mc_write_en или sel_DMA_or_fastme_currram или src_write_en)
започвам
IF (sel_DMA_or_fastme_currram == 1) / / изберете вход от ДМА
mbuf_write_en = src_write_en;
в противен случай
mbuf_write_en = me_mc_write_en;

приключвам-----------------
Защо сигнал "mbuf_write_en" се забави една CLK, когато се използва първата напишете стил??Aramis

 
----- **** ****
Последно редактиран от joe2moon на 23-ти Май 2003 12:40; Редактирано общо 1 път

 
joe2moon написа:

А състезанието състояние
<img src="http://www.edaboard.com/images/smiles/icon_surprised.gif" alt="Изненадан" border="0" />

Според публикацията не може да каже къде ще доведе това

1 цикъл's латентност, но изглежда, че за да бъде условие раса.
 
Освен това, ако той наистина е раса условие, инструментът не може да го проверите!
това ще бъде сериозен проблем, тази функция не работи --- чип не успее!

може да марля инструменти могат да проверите и да намерят за него?Той не изглежда

 
Здравейте, прочетете "me_mc_write_en" във вашия винаги блок, но не го записваме в чувствителните списък, това създава едно капаче, затова me_mc_write_en "се забави при определени условия. Когато го вземете, този сигнал се в чувствителните списък, така че всичко е наред. марля инструменти Всеки може да провери тази типична грешка. BTW, когато NC & Modelsim не показват едни и същи резултат (случва през цялото време), аз винаги доверие NC.

 
Съжалявам, че е направил грешка, то трябва да бъде "src_write_en", която не е включена в списъка на чувствителните.

 
farmerwang написа:

Съжалявам, че е направил грешка, то трябва да бъде "src_write_en", която не е включена в списъка на чувствителните.
 

Welcome to EDABoard.com

Sponsor

Back
Top