我试图理解这段代码,但我无法理解它
// upper bits are always zero
assign slt[31:1] = 0;
xor (condition, a[31], b[31]);
yArith slt_arith (tmp, cout, a, b, 1);
yMux #(.SIZE(1)) slt_mux(slt[0], tmp[31], a[31], condition);
Run Code Online (Sandbox Code Playgroud)
a是b一些 32 位数字
该代码试图实现(a < b) ? 1 : 0;在 mips 中被称为 slt
该yArith部分正在执行 (ab) 并将结果放入 中tmp,1 是减法标志。
该yMux部分是 2x1 多路复用器,需要一些条件(0 或 1)来选择tmp[31]条件为 0 或a[31]条件为 1。
为什么这段代码可以在 Verilog 中实现小于设置?
我正在研究计算机性能,我不明白为什么
时钟周期时间= 1 /时钟速率
为什么这很明显?