国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

跑馬燈實驗

這篇具有很好參考價值的文章主要介紹了跑馬燈實驗。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

4.1 實驗目的

????????1.熟悉龍芯實驗開發(fā)板、熟悉 VIVADO 的編譯環(huán)境及操作流程。

????????2.掌握 FPGA 編程入門知識、利用門級方法實現(xiàn)簡單邏輯電路。

????????3.繼續(xù)學習 Verilog HDL 語法、掌握跑馬燈的設(shè)計、熟悉調(diào)試過程。

4.2 實驗原理及芯片

????????本次實驗用 Verilog HDL 語言來描述 6 個不同的 2 輸入邏輯門電路,其中包括:與、或、與非、或非、異或和同或門,并給出仿真測試代碼和約束文件代碼,可通過仿真波形圖和龍芯實驗板卡驗證其功能,同時完成跑馬燈(點亮實驗臺上 16 個 led 燈)實驗。門電路是數(shù)字電路中最基本的元件,它能實現(xiàn)最基本的邏輯功能。

跑馬燈實驗,數(shù)字邏輯,fpga開發(fā)

4.3 實驗內(nèi)容

????????1.FPGA 編程使用入門,在 VIVADO 環(huán)境下完成對簡單電路工作情況的仿真模擬,掌握基本流程。

????????2.利用 Verilog 編程實現(xiàn)基本邏輯門電路,完成配置程序的下載,并在實驗臺上對程序進行最終驗證。

????????3.點亮實驗臺上 16 個 led 燈。

????????4.利用 Verilog 編程實現(xiàn)組合邏輯功能,實現(xiàn)跑馬燈的設(shè)計 (例如:1 秒鐘流水顯示)。

4.4 實驗步驟

????????4.4.1 輸入邏輯門電路驗證

????????邏輯關(guān)系文件:

module gates2 ( 
input a,
input b,
output [5:0] y
); 
assign y[0] = a & b; //與
assign y[1] = a |b; //或
assign y[2] = ~(a & b); //與非
assign y[3] =~(a | b); //或非
assign y[4] = a ^ b; //異或
assign y[5] = a ~^ b; //同或
endmodule

????????仿真文件:

module gates2_test ( 
); 
reg a,b;
wire [5:0] y;
gates2 test_gates2(a,b,y);
initial begin
a = 0; b =0; #100; //時間常量,#100 表示延遲 100 個時間單位
a=0; b =1; #100; 
a = 1; b =0; #100; 
a = 1; b =1; #100;
end
endmodule

?????????實驗具體步驟與對應關(guān)系不再一一闡述(群文件里都有),在這只對比輸入邏輯門電路驗證結(jié)果。

????????仿真結(jié)果:

跑馬燈實驗,數(shù)字邏輯,fpga開發(fā)

????????真值表:

跑馬燈實驗,數(shù)字邏輯,fpga開發(fā)

4.4.2 跑馬燈實驗設(shè)計

????????邏輯關(guān)系文件:

module led_test (
   input sys_clk,
   input rst_n,
   output reg [15:0] led
);
   reg [31:0] timer;
   reg [15:0] led_counter;

   always @(posedge sys_clk or negedge rst_n) begin
      if (~rst_n) begin
         timer <= 32'd0;
         led_counter <= 4'b0000;
      end 
      else if (timer == 32'd199_999_999 )begin
         timer <= 32'd0;  // 計時器達到 4 秒(50M*4-1=199999999),清零計時器
         led_counter <= led_counter +1'b1;
      end
      else
         timer <= timer + 1'b1;  // 計時器加一
   end

   always @(posedge sys_clk or negedge rst_n) begin
      if (~rst_n)
         led <= 16'b0000_0000_0000_0000;  // 復位信號有效時,將 LED 清零
      else begin
        case (led_counter)
            4'b0000: led <= 16'b0000_0000_0000_0001;
            4'b0001: led <= 16'b0000_0000_0000_0011;
            4'b0010: led <= 16'b0000_0000_0000_0111;
            4'b0011: led <= 16'b0000_0000_0000_1111;
            4'b0100: led <= 16'b0000_0000_0001_1111;
            4'b0101: led <= 16'b0000_0000_0011_1111;
            4'b0110: led <= 16'b0000_0000_0111_1111;
            4'b0111: led <= 16'b0000_0000_1111_1111;
            4'b1000: led <= 16'b0000_0001_1111_1111;
            4'b1001: led <= 16'b0000_0011_1111_1111;
            4'b1010: led <= 16'b0000_0111_1111_1111;
            4'b1011: led <= 16'b0000_1111_1111_1111;
            4'b1100: led <= 16'b0001_1111_1111_1111;
            4'b1101: led <= 16'b0011_1111_1111_1111;
            4'b1110: led <= 16'b0111_1111_1111_1111;
            4'b1111: led <= 16'b1111_1111_1111_1111;
            default: led <= 16'b0000_0000_0000_0000;
            endcase
         end
   end
endmodule

????????實驗思路:

????????本次實驗要實現(xiàn)跑馬燈的效果,設(shè)置一個計時器(timer)和一個LED計數(shù)器(led_counter)。計時器每個時鐘周期加一,直到達到4秒(199,999,999個時鐘周期),然后計時器清零,并且LED計數(shù)器加一。

????????在第一個always塊中,根據(jù)時鐘信號和復位信號來控制計時器和LED計數(shù)器的行為。當復位信號有效時,計時器和LED都被清零。當計時器達到4秒時,計時器清零并且LED計數(shù)器加一。其他情況下,計時器繼續(xù)加一。

????????在第二個always塊中,根據(jù)LED計數(shù)器的值來設(shè)置LED的輸出。根據(jù)LED計數(shù)器的不同值,LED的輸出會依次從1到全亮(16位二進制數(shù))。整個模塊的功能是實現(xiàn)一個LED計時器,每4秒LED的亮度逐漸增加,最后達到全亮狀態(tài)。

????????實驗結(jié)果:

跑馬燈實驗,數(shù)字邏輯,fpga開發(fā)

?

5 實驗總結(jié)與反思

????????兩次實驗中,第一次驗證輸入邏輯門電路較為簡單,由于有老師提供的代碼,自己理解起來也比較容易,按照實驗步驟的指導一步步做下來,自己也是順利的完成了第一次實驗。

????????在第二次實驗中,由于沒有老師提供的代碼,在自己的摸索下,自己寫出了一個跟同學不一樣的跑馬燈代碼,通過設(shè)置一個計時器(timer)和一個LED計數(shù)器(led_counter)來實現(xiàn)跑馬燈的效果,通過此次實驗,自己也發(fā)現(xiàn)對Verilog HDL的理解還是不夠熟悉,只停留在課本方面,沒有運用到實際中,這讓我看到了自己的差距,在下步的實驗中,我將在課下繼續(xù)努力,熟練掌握Verilog HDL語言。文章來源地址http://www.zghlxwxcb.cn/news/detail-763766.html

到了這里,關(guān)于跑馬燈實驗的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • flutter開發(fā)實戰(zhàn)-實現(xiàn)marquee根據(jù)文本長度顯示文本跑馬燈效果

    flutter開發(fā)實戰(zhàn)-實現(xiàn)marquee根據(jù)文本長度顯示文本跑馬燈效果

    flutter開發(fā)實戰(zhàn)-實現(xiàn)marquee文本跑馬燈效果 最近開發(fā)過程中需要marquee文本跑馬燈效果,這里使用到了flutter的插件marquee 效果圖如下 1.1 引入marquee 在pubspec.yaml中引入marquee 1.2 marquee使用 marquee使用也是非常方便的。比如直接指定文本text 或者設(shè)置更多屬性值 根據(jù)Text文本的大小判斷

    2024年02月13日
    瀏覽(28)
  • 【正點原子STM32連載】第十章 跑馬燈實驗 摘自【正點原子】APM32E103最小系統(tǒng)板使用指南

    【正點原子STM32連載】第十章 跑馬燈實驗 摘自【正點原子】APM32E103最小系統(tǒng)板使用指南

    1)實驗平臺:正點原子APM32E103最小系統(tǒng)板 2)平臺購買地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套實驗源碼+手冊+視頻下載地址: http://www.openedv.com/docs/boards/xiaoxitongban 跑馬燈程序是嵌入式開發(fā)的一個經(jīng)典程序,類似于學習C語言時,編寫的“Hello World”程序。跑馬燈本

    2024年02月02日
    瀏覽(26)
  • 單片機(3)跑馬燈,按鈕控制的跑馬燈(2種編程)

    單片機(3)跑馬燈,按鈕控制的跑馬燈(2種編程)

    ?先上電路圖(圖示的是高電平點亮的跑馬燈) ?這個是程序截圖(keil5):我的建議是是先自己打一遍,邊打邊試著理解程序的意思。 下面的是沒有注釋的代碼 下一個是另外一種編程思路 ?

    2024年02月11日
    瀏覽(27)
  • STM32F407ZGT6正點原子F4探索者開發(fā)板 -- 跑馬燈例程

    STM32F407ZGT6正點原子F4探索者開發(fā)板 -- 跑馬燈例程

    LED0 - PF9 LED1 - PF10 PF9 = 0, LED0 亮,PF9 = 1,LED0 滅 PF10 = 0, LED1 亮,PF10 = 1,LED1 滅

    2024年02月15日
    瀏覽(33)
  • 3.跑馬燈

    3.跑馬燈

    推挽模式輸出:因為LED0和LED1陽極都是3.3V,需要將陰極設(shè)置為低電平才可以點亮LED; 操作io口時,必須引入源文件和頭文件; 關(guān)于時鐘的文件存放在rcc中; void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 作用:初始化一個或多個io口(同一組)的工作方式和速度, 該函數(shù)

    2024年02月10日
    瀏覽(23)
  • Android --- 跑馬燈效果

    Android --- 跑馬燈效果

    跑馬燈效果主要使用的控件為TextView,其中涉及的幾個標簽如下所示: android:ellipsize If set, causes words that are longer than the view is wide to be ellipsized instead of broken in the middle. You will often also want to set scrollHorizontally or singleLine as well so that the text as a whole is also constrained to a single line in

    2023年04月08日
    瀏覽(25)
  • CSS按鈕-跑馬燈邊框

    CSS按鈕-跑馬燈邊框

    思路很簡單,實現(xiàn)方法有很多很多。但是大體思路與實現(xiàn)方法都類似:漸變色 + 動畫,主要區(qū)別在動畫的具體實現(xiàn)

    2024年02月11日
    瀏覽(32)
  • CSS 之 跑馬燈邊框

    CSS 之 跑馬燈邊框

    一、簡介 ? 之前有做過漸變色邊框的樣式,然后某天刷抖??,看到某個老師在講跑馬燈的樣式效果,于是就自己嘗試實現(xiàn)一下跑馬燈樣式的邊框,雖然這種樣式并不常見(基本沒卵用),其使用場景我至今沒想到,但是它足夠花里胡哨,玩的就是花活。CSS才是前端最難精通

    2024年01月17日
    瀏覽(26)
  • Android 實現(xiàn)跑馬燈效果

    Android中實現(xiàn)跑馬燈效果有多種方式,本篇簡單介紹下: 1: TextView屬性實現(xiàn) 這里需要注意下: 需要限制textview的寬度,不能設(shè)置為wrap_content 啟動跑馬燈效果需要獲取焦點requestFocus(). 2: 代碼實現(xiàn) 3: 自定義 view實現(xiàn) 這里可以使用動畫的效果實現(xiàn). 4: 實現(xiàn)豎直效果的跑馬燈

    2024年01月18日
    瀏覽(26)
  • 基于Verilog的跑馬燈設(shè)計

    基于Verilog的跑馬燈設(shè)計

    設(shè)計一個能夠有多種工作模式控制的8個燈亮滅的電路。 工作模式1:按照從左到右的方向,依次點亮每一盞燈,然后依次熄滅每一盞燈; 工作模式2:分成兩組燈,前四個燈為1組,后四個為2組,1組燈按從左到右依次點亮,同時2組燈按從右到左依次點亮,然后兩組燈按各自點

    2024年02月08日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包