日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

门级建模

發布時間:2025/3/8 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 门级建模 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?

學習目標

學習Verilog提供的門級原語

理解門的實例引用、門的符號以及and/or,buf/not類型的門的真值表

學習如何根據電路的羅技圖來生成Verilog描述

講述門級設計中的上升、下降和關斷延遲

解釋門級設計中的最小、最大和典型延遲

?1.門的類型

1.1與門(and)和或門(or)

具有一個標量輸出端和多個標量輸入端。端口列表中的第一個端口必定是輸出端口,其后為輸入端

可以使用的屬于與/或門類的其他門的術語包括:

and(與門) or(或門) xor(異或門) nand(與非門) nor(或非門) xnor(同或門)

?

?

wire OUT,IN1,IN2; //基本門的實例引用 and a1(OUT,IN1,IN2); nand na1(OUT,IN1,IN2); or or1(OUT,IN1,IN2); nor nor1(OUT,IN1,IN2); xnor nx1(OUT,IN1,IN2);//輸入端超過兩個,三輸入端的與非門 nand na1_3inp(OUT,IN1,IN2,IN3);//實例引用門時,不給實例命名 and(OUT,IN1,IN2);//合法的門實例引用

?

基本門的真值表

and01xz
00000
101xx
x0xxx
z0xxx

?

nand01xz
01111
110xx
x1xxx
z1xxx

?

or01xz
001xx
11111
xx1xx
zx1xx

?

nor01xz
010xx
10000
xx0xx
zx0xx

?

xor01xz
001xx
110xx
xxxxx
zxxxx

?

xnor01xz
010xx
101xx
xxxxx
zxxxx

1.2緩沖器/非門

buf/not門具有一個標量輸入和多個標量輸出。

?緩沖門(buf)/非門(not)

輸入端口必須是在實例端口列表的最后一個。

//基本門的實例引用 buf b1(OUT1,IN); not n1(OUT1,IN);//輸出端多余兩個 buf b1_2out(OUT1,OUT2,IN);//實例引用門時,不給實例命名 not (OUT1,IN );//合法的門實例引用

?真值表

bufinout
?00
?11
?xx
?zz

?

notinout
?01
?10
?xx
?zx

帶控制端的緩沖器/非門(bufif/notif)

Verilog提供了其他4個帶有控制信號端口的buf/not門

bufif1 bufif0 notif1 notif0

真值表

??ctrl
?bufif101xz
in0z0LL
1z1HH
xzxxx
zzxxx

?

??ctrl
?bufif001xz
in00zLL
11zHH
xxzxx
zxzxx

?

??ctrl


?notif101xz
in0z1HH
1z0LL
xzxxx
zzxxx

?

??ctrl

?notif001xz
in01zHH
10zLL
xxzxx
zxzxx

2.門延遲

2.1上升、下降、關斷延遲

上升延遲

門的輸出從0,x,z變化為1所需的時間稱為上升延遲。

下降延遲

門的輸出從1,x,z變化為0所需的時間

關斷延遲

關斷延遲是指門的輸出從0,1,x變化為z所需的時間

PS如果值變化到不確定值x,則所需的時間可以看成是以上三種延遲值中最小的那個。

延遲值說明的類型

//以下三種延遲都等于delay_time所表示的延遲時間 and #(delay_time) a1(out,i1,i2);//說明上升延遲和下降延遲 and #(rise_val,fall_val) a2(out,i1,i2);//說明上升延遲,下降延遲和關斷延遲 bufif0 #(rise_val,fall_val, turnoff_val) b1(out,in,control);

2.2最小/典型/最大延遲

//一個延遲 //若最小延遲=4 //若典型延遲=5 //若最大延遲=6 and #(4:5:6) a1(out,i1,i2);//兩個延遲 //若最小延遲,上升延遲=3,下降延遲=5,關斷延遲=min(3,5) //若典型延遲,上升延遲=4,下降延遲=6,關斷延遲=min(4,6) //若最小延遲,上升延遲=5,下降延遲=7,關斷延遲=min(5,7) and #(3:4:5,5:6:7) a2(out,i1,i2);//三個延遲 //若最小延遲,上升延遲=2,下降延遲=3,關斷延遲=4 //若最小延遲,上升延遲=3,下降延遲=4,關斷延遲=5 //若最小延遲,上升延遲=4,下降延遲=5,關斷延遲=6 and #(2:3:4,3:4:5,4:5:6) a3(out,i1,i2);//啟動仿真器,使用最大延遲進行仿真 >verilog test.v +maxdelays//啟動仿真器,使用最小延遲進行仿真 >verilog test.v +mindelays//啟動仿真器,使用典型延遲進行仿真 >verilog test.v +typedelays

?

轉載于:https://www.cnblogs.com/fxygrzb/p/5936782.html

總結

以上是生活随笔為你收集整理的门级建模的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。