-"무엇을 # 1 사이의 차이점은 무엇입니까 "= b와"= # 1 b

그건 = # 5 b 사용해서는 안됩니다 엄지 규칙은 U입니다;
U = b # 5를 동시에 사용할 수있다;
때문에 성명을 차단합니다.
5 초에 대한 1.it 블럭 b의 가치와 그것을주지
2.a = b 값을 일이 5 초 후.

비 simillary - 반대 성명을 차단하는 자사의 부사장
U 따라야한다 "= # 5B를
때문에 해당 문장을 차단 실거예요

 
대답 # 5 = B는 5 시간 단위 시뮬레이터 후 A까지 B의 값을 할당 실행
나 = # 5 B의 시뮬레이터를 할 때,이 정책을 실행
다음이 keeped에 값을 할당 B의 현재 가치를 유지 5 시간 단위를했다.
그것은 "<=".와 동일합니다감사합니다,
재로드

 
이러한 방법은 하나의 모델은 전송 지연과 Verilog 시뮬레이터의 관성 지연됩니다.
VHDL 통해 UR 당신을 그것을 얻을 것이다 잘 알고있다면!
내가 timescale 1ns로 가정시
# 1 "= 웹 / /이 모델은 전송 지연 b '에서 1 ns의'후에 나타납니다
''이 additin 1 ns의 지연 b '이후에 다음과 같이 "= # 1 웹 / /이 모델은 관성 지연'
어떤 맥박 "1ns에서 '필터를 밖으로 얻을 것이다'

Plaese VHDL를 위해서는 아래 링크를 참조하시기 바랍니다!
http://www.gmvhdl.com/delay.htm

 
# 1a를 할 때 "= b)는 b (T는 사용 시간에 마 1 할당되어, 다른 손으로 할 때"= # 1b b (마 1)가 사용되면 한 번에 T는 1에 할당됩니다

 
차이점은 첫 번째 경우에 RHS의 평가가 이루어지는 즉시하지만이 1 ns의 assigment했다.자체적으로 1 ns의 완료 후에 두 번째 경우에는 평가

 
1)

# 1 "= b

과제의 평가 타이밍 제어에 의해 지연될 수있습니다.
RHS 표현을 평가했다.
과제물 "즉 --- b (마 1) 예정이다

2) "= # 1 b

RHS 표현을 평가했다.
양도 타이밍 제어에 의해 지연 대기열의 끝에 예정이다.
흐름에 계속됩니다.
시뮬레이션 시간을 마에 "- 하 ... 1

 
1 # N을 "= b
왼쪽에 지연을 추가 손을 combinational 논리 모델에 배정 nonblocking 측면 (LHS) 결함이있습니다.
코드 :모듈 adder_t2 (공동, 형님, A와 B, CI 소개);

출력 공동;

출력 [3시] 합계;

입력 [3시] A와 B;

입력 CI 소개;reg 공동;

] 형님 [3시 reg;항상 @ (또는 B 또는 CI 소개)

# 12 (동료, 합계) "= B를 CI 소개;

endmodule

 
이러한 차단 마와 과제 nonblocking 실제 회로를 반영됩니까?

사람이 예제 코드는 있습니까?

 
물론 그렇지 ...여기에 예제입니다 :

만약 당신이 과정에서 쓰기 :

= 1;
b =;
C = b;
이 = b와 C = 1
~ 3 회로에서 생성된 버퍼는 각 다른 사람에게 연결됩니다 임무를 차단하고있습니다

1 --- [버퍼 ]---> --- [버퍼 ]---> b --- [버퍼 ]---> C

반면 당신이 쓰는 경우가 아닌 사용 차단

"= 1;
b "=;
C "= b;

이 임무입니다 Nonblocking을 의미합니다 :
= 1
B의 = 이전 값
b의 대부분이 C = 이전 값

버퍼와 실제 회로 될 f를 / f를 대신

1 --- [f를 / f를 ]---> --- [f를 / f를 ]---> b --- [f를 / f를 ]---> C

 
인용구 :

이러한 차단 마와 과제 nonblocking 실제 회로를 반영됩니까?사람이 예제 코드는 있습니까?
 
Vonn 좋은 예를 들어 주신!제가 교대 등록 디자인을 위해 사용할 수 있습니까? /

 
AlexWan 바로 그 나쁜 코딩 스타일을 때 combinational 로직을 모델링하는 데 사용됩니다.알렉스 주셔서 감사합니다!
아래 코드를 참조하십시오 :

/ *
나쁜 코딩 스타일 예제
* /
모듈 adder_t2 (공동, 형님, A와 B, CI 소개);
출력 공동;
출력 [3시] 합계;
입력 [3시] A와 B;
입력 CI 소개;

reg 공동;
] 형님 [3시 reg;

항상 @ (또는 B 또는 CI 소개)
# 12 (동료, 합계) "= B를 CI 소개; / / 나쁘지 않은 임무를 연기 스타일로 코딩 블럭
endmodule
모듈 결핵;
[3시] A와 B reg;
reg CI 소개;
철사 [3시] 합계;
공동 전선;
adder_t2 DUT (. 협력 (공동). 합이 (요약). (). b (b) 항. CI 소개 (CI 소개));
초기
시작
# 0 (A와 B, CI 소개) = (4'h1, 4'h1, 1'h0);
# 50;
# 11 (A와 B, CI 소개) = (4'h2, 4'h5, 1'h1);
# 5 (A와 B, CI 소개) = (4'he, 4'h0, 1'h1);
# 9 (A와 B, CI 소개) = (4'h5, 4'h1, 1'h0);
# 50;
$ 디스플레이 ( "안녕히 가세요");
$ 그만;


endmodule
/////////////////////////////////////////
예기치 않은 동작이 보게 될 것이다.

적인 A / B / CI를, (공동으로, 합계) "= B를 CI를 변경; 예정입니다 12 시간 단위에서 나중에 시간이되기 전에, 어떤 변경 / 웹 / CI를 적용한다옵니다 ( 공동, 합계), 너무 지체하지 # 12입니다.

 
# 1에서 "= # 1 B는 flipflop 전환 시간을 의미합니까?

 

Welcome to EDABoard.com

Sponsor

Back
Top