2011-04-06 2 views
2

에 나는지정 신호 지연은 AFTER VHDL

는 다음 사항을 고려 ... SystemC를에서 문제가 약간의 시간이 경과 한 후에 신호를 작성하려고 있습니다

process (clk) 
    begin 
     -- Updating my signal, out signal, in order to get result, but after a certain delay. 
     signal1 <= '0' after 2 ns; 

OK! 내가 SystemC를 동일한 작업을 수행 할 수 있습니다

SC_CTOR(MyModule) { 
    SC_METHOD(mymethod); 
    sensitive << .... 
} 
void mymethod() { 
    mysig = '0'; // HOW TO SAY AFTER 2 NS????????? 
} 

어떻게 SystemC를에서 신호 할당 지연을 지정할 수 있습니다 ????

답변

2

나는 wait(2, SC_NS);SC_THREAD에 넣을 수 있지만 SC_METHOD에는 넣을 수 없다고 생각합니다.

+0

아니요. 'SC_METHOD'에서'대기 '를 사용할 수 없습니다. 'wait()'함수는 현재 광섬유에서 yeild를 호출하고, 어디로 전환 할 곳이 없으므로 충돌을 일으킬 수 있습니다. –

+0

나는 같은 질문을 가지고 Gene이 말한 것을 발견하지 못했습니다. 내가 그것을 끝내는 방식은 할당에 이어지는 별도의 wait() 문이었다. – Rich

0

가 이미 SC 구문을 잊고 (AFAIK, 당신은. SC_METHOD들에 wait 허용하지 않는),하지만 write 기능은 그것의 GBL에서 mysig.write(0, 2*SC_NS); 같은 옵션 지연 매개 변수를 사용한다, GBL과 비슷해야합니다 mysig.Write(0, 2*ns); 또는 대체 구문 : mysig(2*ns) = 0;

+0

sc_time 매개 변수로 쓰기 오버로드를 찾지 못했습니다 ... – random