FPGA设计代码整洁之道2

2020-01-27 13:30发布


《极限编程实施》作者Ron  Jeffries 仔细研究了贝克的简单代码规则,并依其重要顺序分别列为:  能通过所有测试  没有重复代码  体现系统中的全部涉及理念  包括尽量少的实体,比如类、方法、函数等能通过所有测试这一点,后文中在架构设计方面详细说明,这里我们还是借助一个小的例子说明“没有重复代码”的一些技巧。曾经有一次我将多份不同的程序代码用A4纸打印出来,平摊到我的床上对照时,还在上小学的女儿在旁边说道:爸比,你每天就是看这几只毛毛虫爬来爬去吗?always、if、else,begin,对了,还有end,大概就是这几只。小孩子幼稚的话语引得我哈哈大笑,当我回头看向这些代码时,突然记起一位大师说过的话:大部分程序都是由极为相似的元素构成。诚哉斯言!同时,由于这种相似性,许多程序中出现了重复的代码。我们来看一下下面这组代码:12345678910111213141516171819 assign data0 = {1'b1,din0,1'b0};assign data1 = {1'b1,din1,1'b0};assign data2 = {1'b1,din2,1'b0}; always  @(posedge clk or negedge rst_n)begin    if(rst_n==1'b0)begin        dout <= 0 ;    end    else if(sel0)begin        dout <= data0[9-cnt2];    end    else if(sel1)begin        dout <= data1[9-cnt2];    end    else begin        dout <= data2[9-cnt2];    endend
0条回答

一周热门 更多>