本文是龍芯杯日志的一篇擴展短文,日志指路:【【龍芯杯日志】2020/11/19-2020/11/21: 單周期CPU】。
在寫單周期cpu的cu和alu時,涉及到命令解碼的代碼中,會出現通過指令操作碼和功能碼判斷指令類型,並分配統一的指令ID的過程。
教材PPT中給出了這樣的寫法:(其中的宏定義在之前的一篇文章有提到)
查看這個寫法的RTL實現,是這樣的:(框出部分是上述代碼的實現)
可以看到,上述寫法在RTL中實現為一系列串級MUX,使得門電路結構復雜,路徑變長。
從上一屆代碼中學到了函數case結構的寫法:
相應的RTL實現:(框出部分是上述代碼的實現)
新寫法的實現只使用了一個MUX,電路結構得到了簡化。