鏈接:https://www.cnblogs.com/xuqing125/p/8884403.html
在verilog中,所有的端口隱含地聲明wire類型;如果輸出類型的端口需要保存數(shù)值湾揽,則必須將其顯式地聲明為reg數(shù)據(jù)類型价卤。
不能將input和inout類型的端口聲明為reg數(shù)據(jù)類型,因?yàn)閞eg類型的變量是用于保存數(shù)值的肋殴,而輸入端口只反映與其相連的外部信號(hào)的變化洽沟。
端口連接規(guī)則:將一個(gè)端口看成由相互鏈接的兩個(gè)部分組成以故,一部分位于模塊內(nèi)部,另一部分位于模塊外部裆操。當(dāng)在一個(gè)模塊中調(diào)用(實(shí)例引用)另一個(gè)模塊時(shí)怒详,端口之間的連接必須遵守一些規(guī)則。
1踪区、輸入端口:從模塊內(nèi)部來講昆烁,輸入端口必須為線網(wǎng)數(shù)據(jù)類型,從模塊外部來看缎岗,輸入端口可以連接到線網(wǎng)或者reg數(shù)據(jù)類型的變量静尼。
2、 輸出端口:從模塊內(nèi)部來講传泊,輸出端口可以是線網(wǎng)或者reg數(shù)據(jù)類型鼠渺,從模塊外部來看,輸出必須連接到線網(wǎng)類型的變量(顯式眷细,隱式)拦盹,而不能連接到reg類型的變量。
3薪鹦、輸入/輸出端口(必須為wire) 從模塊內(nèi)部來講掌敬,輸入/輸出端口必須為線網(wǎng)數(shù)據(jù)類型;從模塊外部來看池磁,輸入/輸出端口也必須連接到線網(wǎng)類型的變量奔害。