如果您使用迴圈指派陣列切片,並在不同的程式中指派其他元素,那麼您可能會發現,在迴圈之外指派的元件會產生「X」或「U」,以符合 VHDL 標準。
此模擬結果可能會發生,因為需要模擬器才能為訊號最長的靜態首碼建立驅動程式。這表示當陣列使用變數進行索引時,需要模擬器才能為陣列的每個元素建立驅動程式。
為了避免這種模擬行為,僅在與迴圈相同的程式中將值指派給陣列。
如需有關驅動程式如何與訊號分配相關的詳細資訊,請參閱 VHDL IEEE 標準 1076-1987、第 9.2.1 節或 1076-1993 節、第 12.6.1 節。