iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
Software Development

超簡單的 Verilog 入門講解系列 第 5

[Day 05] Verilog E-1 難度丁P1海域的探路 - And_Gate 、assign、module、input 跟 output

  • 分享至 

  • xImage
  •  

我們先講解 我們剛開始設定名字時叫 And_gate1
https://ithelp.ithome.com.tw/upload/images/20220918/20135862lzMLb6WCyF.png


module

所以程式一開始設定會長這樣
module 就是 一塊具有特定功能的電路區塊,而這模組叫做 And_gate1

module And_gate1();


endmodule

我們目標是把這模組畫成這樣子
https://ithelp.ithome.com.tw/upload/images/20220918/20135862WHa6aINEwx.png


input 跟 output

要記好Verlog其實比較像是在畫這張圖,你就想成這是畫畫的步驟

我們先要做的事 要設定 input 跟 output 是甚麼

有兩種寫法

  1. 一種是直接定義在And_gate1()裡面
module And_gate1(
input A , 
input B , 
output Out1
);


endmodule

  1. 另一種是 後面在定義
module And_gate1( A , B , Out1 );
input A , B;
output Out1; 



endmodule


assign

assign 就類似接線

  1. assign 只適用在 input、ouptput 跟 wire、wand、wor 跟 tri
    除了 input、ouptput 後面在講解
    語法就是: assign 輸出訊號 = 訊號跟運算子的組合

  2. 他適用在多位元的,會自動擴充跟截掉

  3. assign 不能有記憶性電路 像是 assign a = a + b; a同時在等號左右兩邊

後面 2 3 敘述之後再慢慢體悟

我們用 assign 跟 & 的運算子 就可以完成了程式碼


module And_gate1(A,B,Out1);
input A , B;
output Out1; 


assign Out1 = A & B;


endmodule


我們就完成了
https://ithelp.ithome.com.tw/upload/images/20220918/20135862qtl5tvVEUR.png


上一篇
[Day 04] Verilog E-1 難度丁踏上海域的準備 - Xilinx 下載 Vivado來使用
下一篇
[Day 06] Verilog E-1 難度丁P1海域的解謎1 - And_Gate 的 tb
系列文
超簡單的 Verilog 入門講解30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言