Saat menulis Verilog, saya menggunakan berbagai "linter" yang akan memberikan kesalahan dan peringatan. Ini adalah simulator saya (ModelSim), kompiler saya (Quartus II), bersama dengan linter (Verilator). Bersama-sama, saya memiliki cakupan yang baik untuk perangkap umum, seperti ketidakcocokan ukuran bus dan kait disimpulkan.
Sayangnya, tidak satu pun dari tiga alat mendeteksi register yang tidak diatur ulang. Untuk melihat apa yang saya maksud, pertimbangkan yang berikut ini.
reg a;
reg b;
always @(posedge clk_i or posedge rst_i) begin
if(rst_i) begin
a <= 1'b0; // Reset a
// Ooops, forgot to reset b
end else begin
// Do stuff with a and b
end
end
Bagaimana saya dapat memiliki alat saya secara otomatis mendeteksi register yang tidak diatur ulang?