新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > 小梅哥和你一起深入學習FPGA之點亮LED燈(下)

        小梅哥和你一起深入學習FPGA之點亮LED燈(下)

        作者: 時間:2015-03-11 來源:網絡 收藏

          七、 測試平臺設計

        本文引用地址:http://www.104case.com/article/270854.htm

          本實驗主要對的輸出和輸入與復位的關系進行測試仿真,通過仿真,即可驗證設計的正確性和合理性。相關testbench的代碼如下:

          以下是代碼片段:

          `timescale 1ns/1ns

          module _Driver_tb;

          reg Rst_n;

          reg [3:0] Sig;

          wire [3:0] Led;

          _Driver

          #( /*參數例化*/

          .Width (4)

          )

          LED_Driver_inst(/*端口例化*/

          .Rst_n(Rst_n),

          .Sig(Sig),/*OFF ON ON OFF*/

          .Led(Led)

          );

          initial begin

          Rst_n = 0;

          Sig = 4'b1010;

          #100;

          Rst_n = 1;

          #40 Sig = 4'b0001;

          #40 Sig = 4'b0010;

          #40 Sig = 4'b0011;

          #40 Sig = 4'b0100;

          #40 Sig = 4'b0101;

          #40 Sig = 4'b0110;

          #40 Sig = 4'b0111;

          #40 Sig = 4'b1000;

          #40 Sig = 4'b1001;

          #40 Sig = 4'b1010;

          #40 Sig = 4'b1011;

          #40 Sig = 4'b1100;

          #40 Sig = 4'b1101;

          #40 Sig = 4'b1110;

          #40 Sig = 4'b1111;

          #40;

          $stop;

          end

          endmodule

          由testbench中可以看出,初始值給Sig賦了一個初始值,系統處于復位狀態,100ns后,復位過程結束,系統進入正常工作狀態,Sig信號每隔一定時間變化一次。因此,只需要觀察Led信號與Sig信號的關系,即可驗證設計的正確與否。

          八、 仿真分析

          

         

          由上圖仿真結果可知,當復位信號為低電平時,Led輸出全部為1,則所有LED熄滅,當復位信號為高電平時,則Led輸出與Sig信號一致,證明設計正確無誤。對于頂層模塊,仿真沒有什么太大的實際意義,因此不做仿真。

          九、 下板驗證

          手頭暫無開發板,板級驗證略。

          十、 總結

          可能很多初學,又看過其它一些資料的同學會對小梅哥的這種組織方式感覺不太習慣,認為本來一個代碼模塊就能搞定的事兒被我硬生生拆成了兩個,增加了系統的復雜性。其實,我這里主要是強調了一種建模的思想,我們所做的模塊一定要具有靈活性和通用性,當其它設計中需要用到該外設時,只需要關心其內部端口就行了,在頂層例化時只需要將對應信號接到該端口上就能實現功能了,不用再專門為了特定應用再寫一次。目前系統簡單,可能大家還看不出這種方式的優勢,隨著以后的設計越來越復雜,大家就能很明顯的看到這種設計方式的優勢所在了。

        fpga相關文章:fpga是什么


        led燈相關文章:led燈原理




        關鍵詞: FPGA LED

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武汉市| 壶关县| 右玉县| 阿拉善盟| 田东县| 耿马| 工布江达县| 象山县| 保德县| 临沧市| 屯昌县| 北安市| 德格县| 友谊县| 精河县| 托克托县| 白朗县| 墨脱县| 鸡泽县| 巴马| 报价| 昌平区| 海兴县| 探索| 清原| 巴青县| 临洮县| 那坡县| 泗阳县| 乌海市| 剑阁县| 鄱阳县| 景宁| 新乡县| 军事| 丹棱县| 永清县| 瑞昌市| 日土县| 教育| 邯郸县|