回顾:有符号差值
本课属于 Coddy Verilog 学习旅程的“RTL 设计与验证”单元。第 10 课,共 38 课。
挑战
中等计算 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;
endmoduleRTL 设计与验证中的所有课
自己练习: Verilog 在线编译器