文章预览
对,你没看错,本文就是教你怎么写出让同事无法维护的代码。 命名用拼音 让他Google翻译也不知道这个单词是什么意思,(怎么可能有人定义信号用拼音,对,我见过),这只是先跟他开个玩笑,重点在后面。 assign语句尽量要写的长 assign flag = data_vld & & mode_sel & & enable_flag & & (data_num[ 3 : 0 ] > 4 'd7) & & (ram_addr[4:0] > 4' d15) & & ((cur_state != STATE_A) & & (next_state == STATE_A)) || ((cur_state != STATE_B) & & (next_state == STATE_B)); 类似于这样,相信我,他看代码的时候,收集覆盖率的时候都会哭的。 if里面的条件尽量写长些,else-if的分支尽量写多些 always @(*) begin if (data_vld & & mode_sel & & enable_flag & & (data_num[ 3 : 0 ] > 4 'd7) & & (ram_addr[4:0] > 4' d15) & & ...) else if (enable_flag & & (data_num[ 3 : 0 ] > 4 'd7) & & (ram_addr[4:0] > 4' d15))... ... 效果同上 计数器不清零
………………………………