Menu
CoddyTech

回顾:有符号差值

本课属于 Coddy Verilog 学习旅程的“RTL 设计与验证”单元。第 10 课,共 38 课。

challenge icon

挑战

中等

计算 8 位 signed 类型的 a 减 b,并将结果限制在 -128 到 127 之间。如果精确差值超出此范围,则返回饱和后的 y,并令 clipped=1。输出列:y、clipped。所有激励值都是已知的二进制值。

完成 design.v,并保留其模块名称和端口。锁定的 testbench.v 会提供输入变化,并在信号稳定后打印输出。它会使用模拟器参数(例如 +CASE=1)选择场景;不需要标准输入。不要在设计中添加打印、延迟或仿真终止操作。预期输出为每次观测一行十进制值,各值之间用一个空格分隔,并以换行符结尾。

亲手试试

module dut (input signed [7:0] a, input signed [7:0] b, output reg signed [7:0] y, output reg clipped);
    // 用你的设计替换这段占位代码。
    initial y = 0;
    initial clipped = 0;
endmodule

RTL 设计与验证中的所有课

自己练习: Verilog 在线编译器