|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Verilog学习笔记基本语法篇(十三)...............Gate门 ) u3 @- R& r4 E8 n ]+ q
Verilog中已有一些建立好的逻辑门和开关的模型。在所涉及的模块中,可通过实例引用这些门与开关模型,从而对模块进行结构化的描述。6 `/ [/ B* p* U( Q
7 n3 U8 S; W2 C逻辑门:4 Z8 k+ w4 O3 D2 G# p/ c
) d4 h' {% q- ~2 \0 c# ]' cand (output,input,...)
9 f" i8 Y' F, r& `+ ~" l2 u7 y+ z5 B x. T0 n. `9 f! q3 e/ j/ ^
nand (output,input,...): o0 F' I# s6 F. p9 A1 I' S
" G6 j: C% x8 B" C8 H& K
or (output,input,...)
7 p0 w( p9 l1 T& k1 E0 d5 n/ ~
- V6 q: F. M8 _# K) w2 X6 x* Qnor (output,input,...)% I0 m; e+ a# g! L/ X: r
Q& T" x |7 @9 E% _( f% m
xor (output,input,...)
" b# a2 q* V5 S8 `- P* q% e9 B- O+ {" A
xnor (output,input,...)
, A& A* \4 s" s s+ H3 Y5 T/ ]1 {
缓冲器和与非门
/ ]/ ^0 q) X! s7 s M
7 t* J: [3 Q. D6 N" L/ i* Ebuf (output,...,input)
! I& K* I! w/ D/ g: m) L# \, z5 R8 ?6 Y1 w
not (output,...,input) j; f3 `4 L4 D
) [! |/ V K) C9 ~& W5 d N! Y) Y( L
三态门:
) j) C# i& h% O4 }- C2 _. N* ?0 g) _7 }" p
bufif0 (output,input,enable)
& b# ` h: n* l' {7 E- T: n* i/ I% q2 d7 ~/ g* u' {
bufif1 (output,input,enable)
; X. F/ }% T, C6 v- k% t4 u
1 \7 Y& H. i7 Y& g2 J% s0 ~notif0 (output,input,enable)
, B6 b( ]" D3 y( k$ G
t L+ q7 h. q% w6 E+ Jnotif1 (output,input,enable)7 X, c' F0 Z+ w4 j6 O
" b3 j0 E$ k: p/ k! u
MOS开关
! m7 |6 a4 Z' f4 c# v6 A5 z: k3 }/ H" y" l; p+ g) S
nmos (output,input,enable)
4 a p+ E; b% T6 l+ T) X
$ R' {% y, i2 ^3 X5 W6 u2 n- H4 dpmos (output,input,enable)9 Q- [: l2 T) O+ v1 k- g
0 J. i+ a$ x" i! Jrnmos (output,input,enable)
. q: Y& b2 _+ ]4 K4 N: ~" u5 i
" _: C G6 N* m! Grpmos (output,input,enable)
0 ^7 s( y+ x- v- u! I' p) Z3 v
1 R* B: u) T) N' l$ C- k9 gCMOS开关% z6 s$ j2 S8 V) ? x$ z0 ]0 v
- [; m, c' k8 C1 ?- tcmos (output,input,Nenable,Penable)
% C# A$ v% I) `! r& y& A3 x5 T$ o1 i, g' o+ U
rcmos (output,input,Nenable,Penable)# J+ N2 {! I3 c
@0 r ~ [9 Q1 N. d双向开关:
* Y2 b: _" j, j( t% w4 V0 Z. f1 z1 r
tran (inout,inout2)
* }7 L* Q+ t V$ ^5 S* m2 p3 Q- y8 p
rtran (inout,inout2)
7 K7 m# \# E& q% @: v5 Q+ }9 Q" {5 q8 c( x/ T
双向可控开关+ F# K. D2 H) x; X/ M, p& O# v% \
5 u+ c8 f. F; L
tranif0 (inout1,inout2,control)
9 d9 j* f, e" W7 B: f! l3 Y3 ]* Y, r7 A
tranif1 (inout1,inout2,control)
4 l" g! n# u, g+ S/ x' a- @& J' P) V, m! ~" p* Z' ~' ~8 V& @" C
rtranif0 (inout1,inout2,control)" r+ h6 _ [. x
1 ?+ K; l3 K6 e& ~# b# ] _rtranif1 (inout1,inout2,control). d/ x$ ~: ?" B, Q- T+ d6 o8 B
3 a* `: j% J) z+ f
上拉源和下拉源
& r" e, }9 H2 q; d! b7 M9 E' T% }" s
pullup (output)
2 c; N' {2 k0 Z" ~4 r
# T; G0 ?6 U! mpulldown (output)) g; d, X& \" x- G
( n7 m9 m4 E6 T* D4 V7 a
以下为上述门电路的真值表:0 h' W7 D! Q9 e8 G) E3 T
: s- Q1 U2 W. |+ P) U2 _$ z% h
其中逻辑值L和H代表部分未知值。L表示0或者Z,H表示1或者Z;
, O% S T& D+ n! g
% Q& F6 g& }5 F$ R G附表1 与门真值表+ R2 ?% W$ q; w6 R& U
1 k0 ~+ @$ d( Q' X$ ]! e& nand 0 1 x z # s$ p' M6 Q: N! W% f9 w3 x$ i
0 0 0 0 0: s' E+ G& M2 X: A8 y- Q9 ?4 V
1 0 1 x x% d. q9 F x* L. H7 |
x 0 x x x; ~1 ?& u" _1 E, R% J9 S
z 0 x x x
% L+ L% W& b$ n6 C/ V$ i
, ?, M0 G5 e. J8 F1 o+ o
3 }7 `6 D# f# v4 m) ?. P: R: u6 y' p
0 e% A* F* E$ \
' y# n0 F/ }5 S' }& z, a7 ?9 b3 A' c& |% _9 c
- q) ?2 J+ t3 g3 B* p2 _8 G( w. i; K
, ^; e8 D) M4 \. }
2 X& W; O6 S0 W
: g, B F1 `" t5 D附表2 与非门真值表
2 F+ u) S) E0 `! M
; Z& i* ~5 i6 C2 C) Q1 K2 B* |nand 0 1 x z ! T- }* Z! U" S" x7 b% O" S6 u( L
0 1 1 1 1
( b. R- w4 ?0 ?8 P; i5 f1 1 0 x x
& l6 S4 U6 J9 cx 1 x x x" E0 U6 u4 h% V/ @& S
z 1 x x x$ W3 g# e2 G e1 r
% [5 `. A2 X( V7 ^$ s
* ?4 w R {( h! w9 \/ @3 b6 h. E3 h; @% I
; `+ e' @; f( c$ a4 E* U
* B8 T6 E) ^ k+ S) ^. W
|( o; q4 @. `& M( t0 V! s9 u4 E ~7 b" p
4 i/ `- R7 s! A; P6 f n( _! k1 s ]( g# J' i0 D
" ~" l2 B+ g5 i附表3 或门真值表 Y2 Q$ d! R5 m5 G$ e
3 V' N% @: W( W, ^) @, Qor 0 1 x z
# L; z4 e9 u: ^8 T: O0 0 1 x x. ?5 G# S/ [ D4 n
1 1 1 1 1' W$ \( y9 |: o5 d* O5 R: }) v
x x 1 x x
5 y% q& X% h ]z x 1 x x/ t1 b, c4 L. B5 j, R
1 a) I, f/ _/ q' i* | A0 o/ E
) m ?8 [: T6 r# L Y& Y2 U+ _& E Q
( C4 E2 k- J4 ]6 ]4 N2 D& u
; [, j6 Z: W; q* x! n3 Q5 s: y, i/ `- x" T y
8 C6 h0 o9 q) ~( x; c
0 Z8 B1 E# g5 f, e! e
' A- C$ Z( v$ P8 t" l6 O4 @
& _: C- o$ ~) @8 w& ^
* P0 I; ], z2 Z附表4 或非门真值表
+ u* P' N% j# f5 M; \ i& L' B) v1 W* U% Q. p- Y
nor 0 1 x z
* E" s s# x, P% r3 U4 ]( i+ G& K0 1 0 x x5 v* S4 V' ^# w
1 0 0 0 0
8 {$ O2 K4 ?6 L) t4 b( P" V# `x x 0 x x
1 n+ {) g, r+ ]. H8 Y" Mz x 0 x x7 j# b1 R- @/ N& s' D
V/ I. u D0 m% D/ W2 D) m- `' [6 `% _% P# M
3 [9 t9 R0 A3 Q$ \5 B# @1 S! A8 z. }4 c8 A0 [5 v( b
9 _4 O7 X! Q7 Z P+ K5 A
( F0 }6 i) `0 q
1 k5 t/ B6 z8 T
! v9 }5 t+ k' U5 H# H. h* e; R! C8 C3 U+ F! T6 ]0 @. N
- a8 ^7 F' b8 N4 B$ I; O5 Z% R& e
附表5 异或门真值表
( z1 h( i' ?# O# K$ w7 n l) z1 d$ t V6 G. M( Z
xor 0 1 x z ' p2 @ \$ e4 E0 Y. f
0 0 1 x x
( o' u- l, `2 P( K5 ^+ l1 1 0 x x0 y, \ I" f( v+ V- Y: i
x x x x x
A" b0 T+ M3 j4 N5 {z x x x x
$ L* @6 J3 i( }& N: H; w4 x: _
& ]7 C9 m& I* p% E$ u! D8 w/ h: u6 t+ G; L3 ?% Q' b9 F2 \
# f) o0 H# ?8 O; q, |: d) _
5 W5 ?% a' b+ u J1 K9 c4 B* H" Q/ ]# L& |6 C" L0 V
0 @ y7 L8 U8 }
. u$ `7 F+ c' P9 U ?) L0 C8 n- u. z, G/ l# o9 P* z- r
) P# f- g' M1 ]# r4 M" x! ]
% S" h! L$ x* `5 f$ C' [附表6 同或门真值表
; p; _1 o y% {, i" G+ {: w
) M) ^, B" o: B1 \xor 0 1 x z
( ^# R/ L* L1 m0 1 0 x x8 G s, M# M, d( w- V
1 0 1 x x
* P; e, d% H7 o+ E# Lx x x x x
! e: `; c# H: s. y" ^/ Qz x x x x5 t4 M, V, O9 B/ \# g$ {- [/ I
) f V- s+ S e2 c) J( F2 X, G
3 `$ o3 E2 {# a; R6 |3 c1 O$ ~
$ t3 Z4 x7 @& V: @+ |8 q) v, [
2 v6 ?4 |( M6 W, O9 G' [
# l5 I' t: a1 @% m) `
8 J$ O) s5 i+ K; M! u. c8 \7 {8 [- ]
( n/ l' |$ Z- J: f
6 m2 H1 S- M i( ~ e5 y3 {, J" X4 A+ | l2 K: n6 b
, { I. [% Z7 g) M6 ^附表7 缓冲器及与非门真值表# t' M7 O* |$ ?, _$ v' D
- S, h: n, y3 Bbuf not0 e) P. B" w7 W
Input Output Input Output
0 s% `+ ?/ Y5 Q" D0 0 0 1. s1 \% J& {6 y3 m7 u
1 1 1 0
% {9 S9 H' f5 h J o; Ax x x x; r. [0 y8 S5 Y% ~
z x z x
$ r0 f8 M$ ~# k- K* i7 D
$ ^. }5 G; d1 ~5 I7 L& D9 O3 Y5 f) B5 ] T" I. x+ n3 {5 D
3 W% _+ l% W0 s9 z- b
7 A% C' n$ o1 p) j
; t5 M2 u8 |; E k
' c- l* d2 w s, y; L# U# Q9 U
) d% ]7 u% L2 ], \
. j" e5 W v$ T
! P4 `" ]1 G5 x8 _
; k0 Z# @& C1 a
9 ~) D3 Q) ]' y. Y! G( I1 Q. K) | g) ?; r+ r# z2 q# d
附表8 缓冲器使能端真值表
; M7 q1 r% K5 i
+ g3 f% F) q. k& b5 xBufif0 Enable Bufif1 Enable
: v e/ L% G( z5 u& n W6 d0 1 x z 0 1 x z
: Y' I$ z. o5 R8 h% y% A9 o- h zD
' G6 G: b" l' u6 `3 I
- v' {: s2 p# v& {8 `, j, UA
# ]+ P4 n( I( o8 R Z8 ^. }3 n# |3 \
T
, B: o/ Q+ g% Z- D7 ]$ x4 l% {/ x8 O4 z& n
A$ ]$ A4 [9 ?; N) p# g; i2 M# w
$ {0 A: ~ v& H- g( M0 0 z L L
8 R& P! ?4 e# w: V7 n$ F8 XD% ?7 n6 M: U8 e" O
. B. c# B* `, v) e6 w. B: q, T
A
{! E9 R! P" f6 w. a- I' [% ^& W" J# f z9 S( L6 s- d
T
- `& a# O( ~2 C9 Z, A
5 ?$ p) v+ U7 Z3 l' r2 \A! J. y/ J6 c5 j" _* V7 l8 B
3 `# I. m l9 R6 K+ T' l, Q5 z
0 z 0 L L
1 v8 u( t9 |0 }9 n9 R# U- i9 @# k1 1 z H H 1 z 1 H H
' r3 U, P# I! P+ ^# Dx x z x x x z x x x% q2 M W# X6 T/ O! ~" z0 j: _
z x z x x z z x x x
' A9 V( F0 q9 H+ v% b
( y2 |, [$ `& g/ U' y. D
2 v5 `7 R. @, Z1 s. z: h4 ^6 k+ H7 Q4 a! {' H
: b$ f0 M( j/ P r. l2 Z9 r: x
+ v$ X5 j% o9 ]+ B. @! l' O
. {7 [% f) b8 o2 R& e7 G
1 h; ~, w5 w4 ]( d
3 C* o. Z/ G3 H' B$ ~# ] }1 u% ]
6 X- H0 b% K" t- E( b& L0 w7 s2 t
- N8 f1 M* e- L- s
1 W, X% K6 S# I; N1 n: }* d& ]
# `/ j' _- f3 M& P2 C9 [7 l6 B U
7 H9 u& Q" c! c/ H附表9 缓冲器非门使能端真值表/ C/ D7 z" d& u- A9 U
% t; L1 Z6 t# q. x, }. i
notif0 Enable notif1 Enable
+ `* e. b! K1 E! l' V+ G+ O& {0 1 x z 0 1 x z$ c a5 {; T2 N0 T
D8 G+ R( p: b, E) n
$ j6 _% Y6 D% C& BA
8 j" J( W) ?* L
( c% L& F0 o C' n3 @- Q4 ?T
) K# _& M+ O3 u) q/ C
( O- y/ O! T2 s* eA$ S# |/ a8 \. D, K
$ u U7 D9 ^' |! N: L3 ?
0 1 z H H n8 i" u, O4 _' G) K* P
D
5 p8 K f; m( O9 O2 U" R8 X4 ^6 V" Q9 z' }
A
) e) c% I- S$ q F; A& w) ~0 o* F% a" v. H7 W
T
5 p$ x. {2 C4 L, l2 \) f
& m/ X u% H! i" P1 Y$ g0 C5 U3 O' MA
) _0 G8 B, S5 I+ r& q9 |
( E( M% t7 B' _) o$ l- c8 J( a0 z 1 H H, T) K6 A( t- [3 ~
1 0 z L L 1 z 0 L L
/ c' K! f( l' Y2 l2 F v; zx x z x x x z x x x
8 X2 {/ x8 ], d2 Jz x z x x z z x x x
) Q, X6 v* ^/ b) y: `# o6 R# Z
' t2 ^9 B* M+ a+ `- c' M) I% U8 C
0 i9 Q0 A. k; H, j! {0 L/ i
" |( i% u) w) |) h& x
: k8 ~7 V0 P% [$ k5 I2 C& I3 B3 L @& g& @
* @# \3 b/ l3 b- B [
& O1 }5 Y; u+ {# G4 N4 m5 e3 ~3 `
) k! f$ ?& B( C0 h" f+ \; E1 t$ y, s0 B' }3 { }
, g& O0 v" ? @! ?5 x
7 _2 y9 E- a) l/ |& ]2 t% L& O& H7 s1 c! O* U
: T# Z4 z& K i: y+ @4 A
2 X. m) U; B% p8 ~9 ]( v5 ]附表10 MOS型控制端真值表- m( N1 O+ n+ ?
4 I- m3 S9 ^+ J& W7 nPmos
% r. f+ h8 J _: E6 A7 y" u3 S9 {: `, \6 ?5 j7 R
Rpmos
5 j Z5 n& y% G9 X
! q$ y: s/ Y' v! g8 l! VControl
) F$ z/ G5 t5 y2 y- YNmos
1 }, G' b1 m) ^$ a) o5 H8 C& `- F2 S9 q& y7 A' p( \6 }
Rnmos
# u- a1 I' v( b+ w; A& G) _' c# [' \- R! B
Control
1 J. ]$ V! W" Z. ~. n2 A0 1 x z 0 1 x z
) t$ [2 E6 ?( P; X1 dD3 `% F. M; o, H# E
3 O* A! l2 d; e+ w; j0 h- @A) w" L7 l" O4 F q# B
* _4 \/ M' F. E1 U, lT& @/ e2 h( v+ q7 m
. O: J/ Z$ t+ ]7 e! WA& y' t5 Q+ C9 S2 l" y* I6 e1 }& W
) e& [/ I; Z+ t; x6 ?9 K0 0 z L L
. ~0 N3 `9 i! g7 k$ P& xD
4 h! l, K, r6 p3 R) n2 x5 y' g& Z$ Y7 Q4 Q- A3 u
A
' N3 g" U$ s- `9 X8 f0 ?" @( s
; \( p6 z% J# G) k% k# m6 uT: b" d p8 P7 F7 H2 o2 j" ~
3 t5 x4 D1 a2 I g% c8 Y' qA# r& }) J& K: W
9 L4 }( @" r/ e8 ?, n4 k# f" e
0 z 0 L L$ u" U0 p* d0 J& \" _
1 1 z H H 1 z 1 H H# s4 O, U1 e. P# x4 ?
x x z x x x z x x x F, q1 ~9 V( Y
z z z z z z z z z z1 c" X) [7 g5 W$ X7 R) L! w
- t! ?- i4 x3 u- O* w% e9 t# ~2 [
& A/ H7 P. d5 y" P {/ D5 r$ A
4 t8 f7 H8 ^8 o- c
3 L! l) g8 L ?6 i4 l+ S( l& Y0 x% E
. G! [/ v) s& e; g3 t& @% e( t: Y/ }6 r( L9 w) W/ j4 y
* ]8 Q N8 S |4 z1 K3 B# v7 `, ?$ R5 q1 U% n' n5 z
. h( b; `5 e0 @0 i6 L
( o8 k+ J# O" \: F% r/ Y, X/ \
1 y1 x, W n5 P
! H$ O8 O3 ^# `; @/ Y3 K3 b4 a
/ [' M' r; ?# O2 m; l i$ g9 V& [* S5 m% r% q
& X5 ~ \/ ^. i; R9 o' _# p
' Z! b' g" a. O4 M @
规则:4 l, T6 ~; m: O; `& W
# }3 y9 W" U& p+ w
1)缓冲门、非门都可以有多个输出,但是这些输出值都是相同的。5 S8 d* C# E- D
. F5 o o- q4 ?( T0 O0 C1 H. w2)当nmos,pmos,cmos, tran, tranif0, tranif1类型的开关开启时,信号从输入到输出并不改变其强度。
9 m S* N1 H5 p$ I0 g5 E
1 O% v$ _1 a3 R3 d+ s( p3)当有电阻的开关,如rnmos, rpmos, rcmos, rtran, rtranif0, rtranif1类型的开关,开启式,信号从输入到输出会改变其强度。
- b- h2 Z1 o# Y1 c, N6 k
3 d% I+ N7 t* C4 g# k' i2 JStrength 减至& c) u9 q$ C$ w9 v- \! I' w
supply pull
7 d# f8 v0 d; n7 {8 l b( Sstrong pull
3 B( ^ O7 c' K1 v6 r* o* Qpull weak
' v1 B: b. ^% p( b7 p3 C l- ?/ zlarge medium+ x: M# U! x& \# F
weak medium
+ ?- N6 z9 D: X0 z" L& ]! g( C3 Tmedium small
$ s4 P& {8 v vsmall small
9 u& w4 `1 D7 F7 B6 Qhighz highz% ~- @$ s F( o& E, G+ F1 `
|
|