Verilog 幾種代碼風格的建模效果

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   os   strong   檔案   

Verilog畢竟是硬體描述語言,使用Verilog這類HDL語言的目的始終是對電路的建模,並最終得到工具轉換出來的實際電路,所以寫代碼的過程中要能抽象出對應的電路。

但同時,Verilog畢竟還是一種程式語言,就像其他程式語言一樣,所以仍然需要熟悉它的文法特性,這樣才可以在遇到不熟悉的代碼風格時候,能抽象出相應電路或者找出建模過程中出錯的地方。

本文關注於常見代碼風格的建模效果以及綜合是否改變模擬結果。

---
系統內容:Centos 6.5
測試載入器:Questasim 10.1b
綜合工具:DC 2013.03(針對ASIC) 
波形工具:Verdi 2013

----

case 1.解碼器

以3-8解碼器作為例子來看case的建模效果。代碼和tb分別如下:

// 3-8 decoder
module case_endcase_basic(    input  [2:0]  data_in,    output [7:0]  data_out);reg [7:0] data_out_reg;always @ (*) begin    case( data_in )    3‘h0: data_out_reg = 8‘b0000_0001;      3‘h1: data_out_reg = 8‘b0000_0010;    3‘h2: data_out_reg = 8‘b0000_0100;    3‘h3: data_out_reg = 8‘b0000_1000;    3‘h4: data_out_reg = 8‘b0001_0000;    3‘h5: data_out_reg = 8‘b0010_0000;    3‘h6: data_out_reg = 8‘b0100_0000;    3‘h7: data_out_reg = 8‘b1000_0000;    endcaseendassign data_out = data_out_reg;endmodule
// 3-8 decoder testbench
module case_endcase_basic_tb;reg  [2:0] data_in;wire [7:0] data_out;initial begin    data_in = 0;    #10    data_in = 1;    #10    data_in = 2;    #10    data_in = 3;    #10    data_in = 4;    #10    data_in = 5;    #10    data_in = 6;    #10    data_in = 7;    #10    data_in = 8;    #10    $finish;end`ifdef DUMP_FSDB    initial begin        $fsdbDumpfile("test.fsdb");        $fsdbDumpvars;    end`endifcase_endcase_basic case_endcase_basic_instance(    .data_in ( data_in  ),    .data_out( data_out ));endmodule

使用QuestaSim模擬後,得到的波形圖:

DC綜合之後:

使用 綜合後的網標檔案和sdf檔案進行後模擬,波形圖如下:

可以看出在訊號穩定的時候,綜合後的模擬效果和綜合前的是一樣的。而對於兩個不同輸入值之前出現的“0”值,可以判斷是cell的1->0 比0->1的傳播速度要快。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.