在數位電路設計中,判斷一個數是否為質數是許多應用場合中的重要課題,例如密碼學。這次想帶大家設計能夠判斷四位元的輸入是否為質數的電路,並輸出相應的 High 或 Low 訊號。直覺上,我們可以使用 Karnaugh Map (K-map) 進行化簡來設計電路,但除了這種方法,我想提供其他可行的設計思路,例如利用多工器 (MUX) 來實現。本篇介紹兩種 MUX 方法去實現 ——8-to-1 MUX 和 4-to-1 MUX。
質數的定義:質數是指大於 1 且只有兩個因數(1 和它本身)的整數。
Truth Table 如下:
最簡單的方式是透過 Karnaugh Map (K-map) 化簡邏輯函數,但這裡提供另一種思路——使用多工器 (MUX) 來實現。
首先,將 Truth Table 重新整理:
由此,我們可以畫出 8-to-1 MUX,其中輸入如下:
這樣即可實現判斷質數的電路。
另一種方式是透過 4-to-1 MUX 來簡化設計:
對應的 4-to-1 MUX 如下:
以上兩種方法提供給大家,實際在設計電路時,可以依情況決定要用kmap畫簡後的電路或是用mux去兜,建議比較不同方法所需的電晶體數量,選擇功耗較低的方案,以提升電路效能。