// synthesis verilog_input_version verilog_2001
module top_module (
input cpu_overheated,
output reg shut_off_computer,
input arrived,
input gas_tank_empty,
output reg keep_driving
);
// 仅当CPU过热时关闭计算机
always @(*) begin
if (cpu_overheated) begin
shut_off_computer = 1; // 如果CPU过热,则关闭计算机
end else begin
shut_off_computer = 0; // 如果CPU不过热,则不关闭计算机
end
end
// 如果到达目的地或需要加油,则停止驾驶
always @(*) begin
if (~arrived) begin
keep_driving = ~gas_tank_empty; // 如果未到达目的地且油箱不为空,则继续驾驶
end else begin
keep_driving = 0; // 如果到达目的地或油箱为空,则停止驾驶
end
end
endmodule