小编use*_*435的帖子

Verilog 实现 a<b ? 1:0

我试图理解这段代码,但我无法理解它

// 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)

ab一些 32 位数字

该代码试图实现(a < b) ? 1 : 0;在 mips 中被称为 slt

yArith部分正在执行 (ab) 并将结果放入 中tmp,1 是减法标志。

yMux部分是 2x1 多路复用器,需要一些条件(0 或 1)来选择tmp[31]条件为 0 或a[31]条件为 1。

为什么这段代码可以在 Verilog 中实现小于设置?

cpu verilog mips riscv

3
推荐指数
1
解决办法
2839
查看次数

为什么时钟周期时间与时钟频率的倒数相反?

我正在研究计算机性能,我不明白为什么

时钟周期时间= 1 /时钟速率

为什么这很明显?

cpu cpu-architecture cpu-speed

1
推荐指数
1
解决办法
559
查看次数

标签 统计

cpu ×2

cpu-architecture ×1

cpu-speed ×1

mips ×1

riscv ×1

verilog ×1