在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Verilog中的三態門與雙向信號詳解

sanyue7758 ? 來源: 芯片驗證日記 ? 2024-01-11 10:10 ? 次閱讀

1.前言

數字電路中,邏輯輸出有兩個正常態:低電平狀態(對應邏輯0)和高電平狀態(對應邏輯1)。此外,電路還有不屬于0和1狀態的高阻態,高阻態常用字母 Z 表示。

高阻態可做開路理解??梢园阉醋鬏敵觯ㄝ斎耄?a target="_blank">電阻非常大,它的極限狀態可以認為懸空(開路)。也就是說理論上高阻態不是懸空,它是對地或對電源電阻極大的狀態。而實際應用上與引腳的懸空幾乎是一樣的?;蛘呖梢岳斫鉃檩敵雠c電路是斷開的。高阻抗狀態將器件與電路的其余部分電路隔離。高阻態時引腳對地電阻無窮,此時讀引腳電平就可以讀到真實的電平值。高阻態的重要作用就是I/O口在用作輸入(input)時讀入外部電平。

一般門與其它電路的連接,無非是兩種狀態,0或者1,在比較復雜的系統中,為了能在一條傳輸線上傳送不同的信號,研制了相應的邏輯器件稱為三態門。三態門是一種控制開關。

三態門主要是用于總線的連接,因為總線只允許同時只有一個器件使用。通常在數據總線上接有多個器件,每個器件通過OE/CE之類的信號選通。如果器件沒有選通的話它就處于高阻態,相當于沒有接在總線上,不影響其它器件的工作。三態邏輯門允許許多設備連接到相同的數據線上,例如數據和地址總線。然而,任何時候只有一個設備“連接”,所有其他設備都處于高阻抗狀態,因此電氣斷開。

雙向信號本質上是由一個三態門組成,具體細節參見后面的描述。

2. 三態門

2.1示意圖、真值表

Verilog中有四個元件模型來表示三態門電路,分別是bufif1,bufif0,notif1,notif0。三態門的示意圖、真值表分別如下圖所示:

wKgZomWfTnGARksXAAF8IjlLlyk078.jpg

wKgZomWfTnKAXBWaAAX2CniIRKE180.png

wKgZomWfTnGAJdwTAAT7_qFNgq8342.png

2.2 三態門結構

三態門電路的輸出結構和普通門電路的輸出結構有很大的不同,因為它在電路中增加了一個輸出控制端。

2.2.1 單向三態門

單向三態門的結構示意圖如下:

wKgaomWfTnGABEBtAAArpehC60o101.png

由上圖看出,在單向三態門中,當E為高電平時,B與A相連,數據流向是A-->B;而當E為低電平時,B的輸出為高阻態,相當于B側電路與A側電路之間的連線斷開,此時可以從外部向B驅動信號,實現相反方向的數據流向(B-->A)。

2.2.1 雙向三態門

當信號線存在雙向IO時,可以有兩個三態門來控制,一個控制輸出,一個控制輸入,雙向三態門的結構示意圖如下:

wKgZomWfTnKAAyjMAABLtt8ciGM843.png

當E1=1,E2=0時,雙向三態門的電路傳輸方向是 A -> B;
當E1=0,E2=1時,雙向三態門的電路傳輸方向是 B -> A;

2.3 三態門建模

三態門的RTL建模方式如下所示

//Tristate Buffer
moduletristate_buffer(input_x,enable,output_x);
inputinput_x;
inputenable;
output output_x;


assign output_x = enable? input_x : 'bz;


endmodule

testbench如下:

module tb();   
reg r_in_x;   
reg w_enable;  
wire w_output_x;


initial begin $display("----------------------
Tri-State Buffer
----------------------
"); 
$monitor("input_x = %b, enable = %b, output_x = %b", r_in_x, w_enable, w_output_x); 
// Generation of stimulus
r_in_x = 0; w_enable= 0;       
# 10  r_in_x = 0;# 10  r_in_x = 1; 
# 10  w_enable = 1; 
# 10  r_in_x = 1; 
# 10  r_in_x = 0; 
end


// Tri-state buffer instantiation
tristate_buffer u_tristate_buffer( 
  .input_x (r_in_x), 
  .enable  (w_enable),  
  .output_x (w_output_x));
endmodule

仿真結果

wKgZomWfTnGAIr1GAABA5dkEWik021.png

3. 雙向信號

在芯片驗證的過程中,有時候會遇到雙向信號(既能作為輸出,也能作為輸入的信號叫雙向信號)。比如,IIC總線中的SDA信號就是一個雙向信號,QSPI Flash的四線操作的時候四根信號線均為雙向信號。在Verilog中用關鍵字inout定義雙向信號。

如下圖所示,雙向信號的本質是由一個三態門組成的,三態門可以輸出高電平、低電平和高阻態三種狀態,其結構大致如下圖所示:

wKgaomWfTnGAaWayAAAhRxY2WYE886.png

描述這個邏輯的Verilog代碼如下:

module inout_top
(
input       I_data_in        ,
inout       IO_data          ,
output     O_data_out     ,
input       Control
);


assign IO_data = Control ? I_data_in : 1‘bz ;
assign O_data_out = IO_data ;


endmodule    


當Control為1時,IO_data為輸出,輸出I_data_in的值

當Control為0時,IO_data為輸入,把輸入的信號賦值給O_data_out。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    28

    文章

    1355

    瀏覽量

    110870
  • 邏輯器件
    +關注

    關注

    0

    文章

    88

    瀏覽量

    20213
  • 三態門
    +關注

    關注

    1

    文章

    34

    瀏覽量

    18892
  • 數字電路
    +關注

    關注

    193

    文章

    1633

    瀏覽量

    81084

原文標題:Verilog中的三態門與雙向信號

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是三態和OC

    三態和OC一、OC實際使用,有時需要兩個或兩個以上與非門的輸出端連接在同一條導線上,將這些與非門上的數據(狀態)用同一條導線輸送出去
    發表于 05-26 13:01

    VERILOG關于三態

    inout Key_inout;wire Key_input;//輸入reg Key_output;//輸出reg Key_Ctr;//三態控制assign Key_inout=Key_Ctr
    發表于 09-23 15:34

    集電極開路 漏極開路 推挽 上拉電阻 弱上拉 三態雙向

    集電極開路 漏極開路 推挽 上拉電阻 弱上拉 三態雙向
    發表于 06-02 16:22

    高阻三態的電路原理分析

    處于斷開狀態)。三態是一種擴展邏輯功能的輸出級,也是一種控制開關。主要是用于總線的連接,因為總線只允許同時只有一個使用者。通常在數據總線上接有多個器件,每個器件通過OE/CE之類的信號選通。如器件
    發表于 01-08 11:03

    【夢翼師兄今日分享】 三態程序設計講解

    等,要求信號三態類型,也就是我們所說的輸入輸出(inout)類型。那么,本節夢翼師兄將和大家一起來探討三態的用法。項目需求設計一個三態
    發表于 12-12 16:11

    三態的工作原理是什么?

    三態的工作原理是什么?
    發表于 05-20 06:55

    什么是三態? 三態邏輯與非門電路以及三態門電路

    什么是三態? 三態,是指邏輯的輸出除有高、低電平兩種狀態外,還有第種狀態——高阻狀態的
    發表于 05-26 12:48 ?4.8w次閱讀
    什么是<b class='flag-5'>三態</b><b class='flag-5'>門</b>? <b class='flag-5'>三態</b>邏輯與非門電路以及<b class='flag-5'>三態</b>門電路

    三態的組成及工作原理

    三態的組成及工作原理
    發表于 02-28 19:13 ?2.6w次閱讀
    <b class='flag-5'>三態</b><b class='flag-5'>門</b>的組成及工作原理

    三態邏輯功能的Multisim仿真方案

    介紹了用Multisim仿真軟件分析三態工作過程的方法,目的是探索三態工作波形的仿真實驗技術,即用Multisim仿真軟件的字組產生器
    發表于 05-06 15:59 ?0次下載
    <b class='flag-5'>三態</b><b class='flag-5'>門</b>邏輯功能的Multisim仿真方案

    三態有哪三態_三態有什么特點

    本文開始介紹了三態的定義與三態的應用,其次對三態三態
    發表于 03-01 14:47 ?13w次閱讀
    <b class='flag-5'>三態</b><b class='flag-5'>門</b>有哪<b class='flag-5'>三態</b>_<b class='flag-5'>三態</b><b class='flag-5'>門</b>有什么特點

    傳輸三態什么區別

    本文主要介紹了傳輸三態什么區別,三態就是指輸出有種狀態(0,1,高阻)的
    的頭像 發表于 04-08 15:33 ?5.5w次閱讀
    傳輸<b class='flag-5'>門</b>和<b class='flag-5'>三態</b><b class='flag-5'>門</b>什么區別

    三態怎么理解

    三態亦稱“三態輸出門”、“三態輸出電路”。是一種重要的總線接口電路。具有高電平、低電平和高阻抗
    的頭像 發表于 03-10 09:29 ?1.8w次閱讀

    FPGA之三態

    三態電路可提供種不同的輸出值:邏輯“0”,邏輯“1”和高阻。高阻主要用來將邏輯同系統的其他部分加以隔離。例如
    的頭像 發表于 11-29 07:09 ?4651次閱讀

    三態的用法及模塊功能介紹

    三態電路可提供種不同的輸出值:邏輯“0”,邏輯“1”和高阻。高阻主要用來將邏輯同系統的其他部分加以隔離。例如
    的頭像 發表于 11-21 07:05 ?8974次閱讀

    三態原理HDL語言DSP和ARM總線的仿真及Modelsim使用教程資料

    本文檔的主要內容詳細介紹的是三態原理HDL語言DSP和ARM總線的仿真及Modelsim使用教程資料主要內容包括了:1 ModelSimSE的使用流程,2 一個Verilog計數器仿真詳細流程附
    發表于 07-09 16:49 ?10次下載
    <b class='flag-5'>三態</b><b class='flag-5'>門</b>原理HDL語言DSP和ARM總線的仿真及Modelsim使用教程資料
    主站蜘蛛池模板: 深夜性久久 | 精品午夜视频 | 韩国朴银狐诱感在线观看 | 奇米色88欧美一区二区 | 亚洲综合激情另类专区 | 视频一区二区中文字幕 | 天天爽天天色 | 男人午夜视频在线观看 | 亚洲高清日韩精品第一区 | 色五月婷婷成人网 | 日本三级成人午夜视频网 | 丁香婷婷啪啪 | a亚洲天堂| 22eee在线播放成人免费视频 | 亚洲一区高清 | 激情综合婷婷丁香六月花 | 久青草免费视频手机在线观看 | 天天鲁天天爽天天视频 | 1v1高h肉爽文bl | 可以直接看的黄色网址 | 国产精品久久福利网站 | 国产成人综合日韩精品婷婷九月 | 日本免费的一级绿象 | 午夜影院网站 | 国产精品午夜自在在线精品 | 亚洲一二三区视频 | 波多野结衣在线观看一区二区 | 爽a中文字幕一区 | 久久婷婷是五月综合色狠狠 | 免费可以看黄的视频 s色 | 中国一级特黄剌激爽毛片 | 国产亚洲一区二区三区啪 | h视频免费高清在线观看 | 欧美性视频一区二区三区 | 天天看片中文字幕 | 午夜亚洲视频 | 又粗又硬又猛又黄的免费视频黑人 | 亚洲第八页 | 五月婷婷六月爱 | 国产精品久久久久aaaa | 亚洲视频一区二区 |