国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

勇敢的芯伴你玩轉Altera FPGA連載38::Verilog代碼風格之雙向管腳的控制代碼

發布時間:2018-1-8 21:03    發布者:rousong1989
勇敢的芯伴你玩轉Altera FPGA連載38::Verilog代碼風格之雙向管腳的控制代碼
特權同學,版權所有
配套例程和更多資料下載鏈接:
http://pan.baidu.com/s/1i5LMUUD
對于單向的管腳,輸入信號或者輸出信號,他們的控制比較簡單,不需要太復雜的控制,輸入信號可以直接用在各類等式的右邊用于作為賦值的一個因子;而輸出信號則通常在等式的左邊被賦值。那么,既可以作為輸入信號又可以作為輸出信號的雙向信號又是如何進行控制的呢?如果直接的和單向控制一樣即做輸入又做輸出,勢必會使信號的賦值發生紊亂。列舉一個簡單的沖突,就是當輸入0而輸出1時到底這個信號是什么值?而我們如何控制才能夠避免這類我們不期望的賦值情況發生?我們可以先看看表5.1所列出的I/O驅動真值表。
表5.1 I/O驅動真值表
  
驅動源
  
0
1
x
Z
0
0
X
X
0
1
X
1
X
1
X
X
X
X
X
Z
0
1
X
Z
         在這個表里,我們發現當高祖態Z和0或1值同時出現時,總能保持0或1的原狀態不變。我們在設計雙向管腳的邏輯時正要利用這個特性,管腳在做輸入時,讓輸出值取Z狀態,那么讀取的輸入值就完全取決于實際的輸入管腳狀態,而與輸出值無關;管腳在做輸出時,則只要保證與器件管腳連接的信號也是處于類似的Z狀態便可以正常輸出我們的信號值。當然了,外部的狀態是用對應芯片或外設的時序來保證的,我們在FPGA器件內部不直接可控,但我們還是可以把握好FPGA內部的輸入、輸出狀態,保證不出現沖突情況。
         費了不少口舌,我想其實只要一個圖加幾段代碼,大家可能就明白其中的精髓。如圖5.9所示,link信號的高低用于控制雙向信號的值是輸出信號yout還是高阻態Z,當link控制當前的輸出狀態為Z時,則輸入信號yin的值由管腳信號ytri來決定。
圖5.9 雙向信號控制
         實現代碼如下:
// Verilog例程
module bidir(ytri,…);
inout ytri;
reg link;
wire yin;
…    // link的取值控制邏輯以及其他邏輯
assign ytri = link ?yout:1'bz;
assign yin = ytri;
…    // yin用于內部賦值
endmodule

本文地址:http://m.4huy16.com/thread-521742-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Microchip第22屆中國技術精英年會——采訪篇
  • 技術熱潮席卷三城,2025 Microchip中國技術精英年會圓滿收官!
  • 常見深度學習模型介紹及應用培訓教程
  • 電動兩輪車設計生態系統
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表