什麼是獨熱編碼(One-hot encoding)

為狀態機的每個狀態分配一個正反器,且始終只有一個為 1 的編碼。邏輯簡單、容易較快,常用於 FPGA。

日文名稱: ワンホット符号化

「獨熱編碼(One-hot encoding)」出現在1領域的2道練習題中(硬體描述語言與驗證等)。

這個名詞所屬的領域: 硬體描述語言與驗證

練習獨熱編碼(One-hot encoding)的題目

在狀態機的狀態編碼中,獨熱編碼(one-hot)的特徵,下列何者正確?

  1. A以二進位表示狀態,使正反器的數量最少
  2. B所有的正反器隨時都為1
  3. C使用與狀態數量相同的正反器,且永遠只有一個為1,因此下一個狀態與輸出的邏輯簡單,容易變快
查看答案與解析

正確答案:C. 使用與狀態數量相同的正反器,且永遠只有一個為1,因此下一個狀態與輸出的邏輯簡單,容易變快

在獨熱編碼中,例如4個狀態表示為0001、0010、0100、1000,每個狀態分配一個正反器。雖然正反器會增加,但只要看1個位元就知道是否處於某個狀態,所以決定下一個狀態與輸出的邏輯會變得較淺而較快。常用於正反器豐富的FPGA,想減少正反器數量時則使用二進位編碼。

在具有3個狀態的狀態機中,記憶狀態所需的正反器數量的組合,下列何者正確(二進位編碼/獨熱編碼)?

  1. A3個/2個
  2. B2個/3個
  3. C1個/3個
查看答案與解析

正確答案:B. 2個/3個

在二進位編碼中,狀態以二進位的編號表示,因此3個狀態只要00、01、10共2位元(2個正反器)就足夠。在獨熱編碼中,每個狀態使用1個正反器,所以是3個。二進位中會剩下未使用的11編碼,為了在因雜訊等原因進入該編碼時能回到正確的狀態,先以default決定去處會比較安全。

解析中的「獨熱編碼(One-hot encoding)」

出現「獨熱編碼(One-hot encoding)」的題目(2題)

  1. 在狀態機的狀態編碼中,獨熱編碼(one-hot)的特徵,下列何者正確?
  2. 在具有3個狀態的狀態機中,記憶狀態所需的正反器數量的組合,下列何者正確(二進位編碼/獨熱編碼)?

相關名詞

正反器 FPGA(現場可程式化閘陣列) 四值邏輯(Four-state logic) 同步重設(Synchronous reset) 回歸測試(Regression testing) 米利型(Mealy machine) 受限隨機驗證(Constrained random verification) 阻塞賦值(Blocking assignment) 非同步重設(Asynchronous reset) 非阻塞賦值(Nonblocking assignment)

前往名詞解釋列表