久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1087|回復: 0
打印 上一主題 下一主題
收起左側

基于狀態(tài)機和VerilogHDL的學號顯示控制電路設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:1126666 發(fā)表于 2024-6-24 01:19 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
1 設計任務

基于VerilogHDL和狀態(tài)機,完成學號顯示控制電路設計。

例如學號:21002495

功能要求如下:

-用八個數(shù)碼管顯示;

-學號按照10hz的時鐘的節(jié)拍從右而左進入,從學號的高位開始進入;

-8位學號全部進入后停頓5s,然后全部熄滅,再重新開始;

設計要求:

-設計要用狀態(tài)機;                                

-信號源模塊輸出10hz的基準時鐘,用于同步學號顯示;

-設計應有的BCD碼和7段碼輸出,仿真波形要有BCD學號;

分頻模塊:

module divider50M_10hz(
            input clk_50M,
            input reset_n,
            output reg clk_10hz);
            reg [25:0] cnt;
always@(posedge clk_50M or posedge reset_n)
begin if(reset_n)
          cnt<=26'b0;
       else begin
          cnt=cnt+1'b1;
          if(cnt==5000_000) //50M/10=5M,占空比為50%
             cnt<=1'b0;
           else if(cnt<2500_000)
             clk_10hz=1'b0;        
           else if(cnt>=2500_000)
             clk_10hz=1'b1;   
            end
end
endmodule


學號顯示控制模塊

module xuehao
(
    clk,
    q1, q2, q3, q4, q5, q6, q7, q8,
    rst
);

input clk;
input rst;
output reg [3:0] q1, q2, q3, q4, q5, q6, q7, q8;    //輸出給譯碼器進行譯碼,用于學號輸出的輸出端
integer     i =  1'd 0;            //用于延時,給脈沖計數(shù)的臨時變量
integer state = 4'b 0000;    //狀態(tài)變化

//學號:21002495的二進制碼
parameter     temp_1 = 4'b 0010, temp_2 = 4'b 0001,temp_3 = 4'b 0000,temp_4 = 4'b 0000,
               temp_5 = 4'b 0010, temp_6 = 4'b 0100,temp_7 = 4'b 1001,temp_8 = 4'b 0101;


//給9種狀態(tài)進行編碼,S0--S8
parameter S0 = 4'b 0000, S1 = 4'b 0001, S2 = 4'b 0010, S3 = 4'b 0011,
             S4 = 4'b 0100, S5 = 4'b 0101, S6 = 4'b 0110, S7 = 4'b 0111,
             S8 = 4'b 1000;


always @(posedge clk or posedge rst)
begin if(rst)
            begin
            q1 = 4'b 1111; q2 = 4'b 1111; q3 = 4'b 1111; q4 = 4'b 1111;
                q5 = 4'b 1111; q6 = 4'b 1111; q7 = 4'b 1111; q8 = 4'b 1111;
           end
        else case(state)
            S0:     //初始狀態(tài),輸出全為1,使數(shù)碼管熄滅
            begin
                state <= S1;
                q1 = 4'b 1111; q2 = 4'b 1111; q3 = 4'b 1111; q4 = 4'b 1111;
                q5 = 4'b 1111; q6 = 4'b 1111; q7 = 4'b 1111; q8 = 4'b 1111;
            end
            S1: begin q1 = temp_1; state <= S2;end
         S2: begin q2 = temp_1;q1 = temp_2; state <= S3;end
            S3: begin q3 = temp_1; q2 = temp_2;q1 = temp_3; state <= S4;end
            S4: begin q4 = temp_1; q3 = temp_2; q2 = temp_3; q1 = temp_4;state <= S5;end
            S5: begin
                q5 = temp_1; q4 = temp_2; q3 = temp_3; q2 = temp_4;
                q1 = temp_5;
                state <= S6;
                end
            S6: begin
                q6 = temp_1; q5 = temp_2; q4 = temp_3; q3 = temp_4;
                q2 = temp_5;q1 = temp_6;
                state <= S7;
                end
            S7: begin
                q7 = temp_1; q6 = temp_2; q5 = temp_3; q4 = temp_4;
                q3 = temp_5; q2 = temp_6; q1 = temp_7;
                state <= S8;
                end
         S8: begin
                if(i >= 50)        //計數(shù)50個上升沿后,再轉移到S0狀態(tài),即延時5s
                begin
                    state <= S0;
                    i = 0; end
                else
                begin
                    i= i + 1;
                    q8 = temp_1; q7 = temp_2; q6 = temp_3; q5 = temp_4;
                    q4 = temp_5; q3 = temp_6; q2 = temp_7; q1 = temp_8;
                end
            end
            default:
            begin
                q1 = 4'b 1111; q2 = 4'b 1111; q3 = 4'b 1111; q4 = 4'b 1111;
                q5 = 4'b 1111; q6 = 4'b 1111; q7 = 4'b 1111; q8 = 4'b 1111;
            end
        endcase
end
endmodule


譯碼模塊:

module my4_7decoder
(
    in,
    out,
    en
);

input [3:0]in;
input en;
output reg [6:0] out;

always @(*)
begin
    if(en)
        out = 7'b 111_1111;
    else
    begin
        case(in) //g-a //省略了一部分數(shù)字
            4'b 0000: out = 7'b 100_0000;
            4'b 0001: out = 7'b 111_1001;
            4'b 0010: out = 7'b 010_0100;
            4'b 0011: out = 7'b 011_0000;
            4'b 0100: out = 7'b 001_1001;
            4'b 0101: out = 7'b 001_0010;
            4'b 0110: out = 7'b 000_0011;
            4'b 0111: out = 7'b 111_1000;
            4'b 1000: out = 7'b 000_0000;
            4'b 1001: out = 7'b 001_0000;
            4'b 1010: out = 7'b 010_0111;
            4'b 1111: out = 7'b 111_1111;
            default:  out = 7'b 111_1111;
        endcase

    end
end
endmodule


頂層設計:



綁定管腳:

管腳:
clk_50M                 Input    PIN_AD15    7    B7_N3    PIN_AD15    3.3-V LVTTL (default)        24mA (default)   
en                 Input    PIN_L7    2    B2_N1    PIN_L7    3.3-V LVTTL (default)        24mA (default)   
reset_n             Input    PIN_L8    2    B2_N1    PIN_L8    3.3-V LVTTL (default)        24mA (default)   
segcode0[6]        Output    PIN_AD12    8    B8_N1    PIN_AD12    3.3-V LVTTL (default)        24mA (default)   
segcode0[5]        Output    PIN_AD11    8    B8_N2    PIN_AD11    3.3-V LVTTL (default)        24mA (default)   
segcode0[4]        Output    PIN_AF10    8    B8_N2    PIN_AF10    3.3-V LVTTL (default)        24mA (default)   
segcode0[3]        Output    PIN_AD10    8    B8_N2    PIN_AD10    3.3-V LVTTL (default)        24mA (default)   
segcode0[2]        Output    PIN_AH9    8    B8_N1    PIN_AH9    3.3-V LVTTL (default)        24mA (default)   
segcode0[1]        Output    PIN_AF9    8    B8_N2    PIN_AF9    3.3-V LVTTL (default)        24mA (default)   
segcode0[0]        Output    PIN_AE8    8    B8_N3    PIN_AE8    3.3-V LVTTL (default)        24mA (default)   
segcode1[6]        Output    PIN_AD17    7    B7_N2    PIN_AD17    3.3-V LVTTL (default)        24mA (default)   
segcode1[5]        Output    PIN_AF17    7    B7_N2    PIN_AF17    3.3-V LVTTL (default)        24mA (default)   
segcode1[4]        Output    PIN_AE17    7    B7_N3    PIN_AE17    3.3-V LVTTL (default)        24mA (default)   
segcode1[3]        Output    PIN_AG16    7    B7_N3    PIN_AG16    3.3-V LVTTL (default)        24mA (default)   
segcode1[2]        Output    PIN_AF16    7    B7_N3    PIN_AF16    3.3-V LVTTL (default)        24mA (default)   
segcode1[1]        Output    PIN_AE16    7    B7_N3    PIN_AE16    3.3-V LVTTL (default)        24mA (default)   
segcode1[0]        Output    PIN_AG13    8    B8_N0    PIN_AG13    3.3-V LVTTL (default)        24mA (default)   
segcode2[6]        Output    PIN_AE19    7    B7_N1    PIN_AE19    3.3-V LVTTL (default)        24mA (default)   
segcode2[5]        Output    PIN_AB19    7    B7_N1    PIN_AB19    3.3-V LVTTL (default)        24mA (default)   
segcode2[4]        Output    PIN_AB18    7    B7_N1    PIN_AB18    3.3-V LVTTL (default)        24mA (default)   
segcode2[3]        Output    PIN_AG4    8    B8_N3    PIN_AG4    3.3-V LVTTL (default)        24mA (default)   
segcode2[2]        Output    PIN_AH5    8    B8_N3    PIN_AH5    3.3-V LVTTL (default)        24mA (default)   
segcode2[1]        Output    PIN_AF7    8    B8_N3    PIN_AF7    3.3-V LVTTL (default)        24mA (default)   
segcode2[0]        Output    PIN_AE7    8    B8_N3    PIN_AE7    3.3-V LVTTL (default)        24mA (default)   
segcode3[6]        Output    PIN_M6    2    B2_N2    PIN_M6    3.3-V LVTTL (default)        24mA (default)   
segcode3[5]        Output    PIN_M7    2    B2_N2    PIN_M7    3.3-V LVTTL (default)        24mA (default)   
segcode3[4]        Output    PIN_M8    2    B2_N1    PIN_M8    3.3-V LVTTL (default)        24mA (default)   
segcode3[3]        Output    PIN_N7    2    B2_N2    PIN_N7    3.3-V LVTTL (default)        24mA (default)   
segcode3[2]        Output    PIN_N10    2    B2_N2    PIN_N10    3.3-V LVTTL (default)        24mA (default)   
segcode3[1]        Output    PIN_P4    2    B2_N3    PIN_P4    3.3-V LVTTL (default)        24mA (default)   
segcode3[0]        Output    PIN_P6    2    B2_N3    PIN_P6    3.3-V LVTTL (default)        24mA (default)   
segcode4[6]        Output    PIN_M2    2    B2_N3    PIN_M2    3.3-V LVTTL (default)        24mA (default)   
segcode4[5]        Output    PIN_M1    2    B2_N3    PIN_M1    3.3-V LVTTL (default)        24mA (default)   
segcode4[4]        Output    PIN_N3    2    B2_N3    PIN_N3    3.3-V LVTTL (default)        24mA (default)   
segcode4[3]        Output    PIN_N2    2    B2_N3    PIN_N2    3.3-V LVTTL (default)        24mA (default)   
segcode4[2]        Output    PIN_P3    2    B2_N3    PIN_P3    3.3-V LVTTL (default)        24mA (default)   
segcode4[1]        Output    PIN_P2    2    B2_N3    PIN_P2    3.3-V LVTTL (default)        24mA (default)   
segcode4[0]        Output    PIN_P1    2    B2_N3    PIN_P1    3.3-V LVTTL (default)        24mA (default)   
segcode5[6]        Output    PIN_K5    2    B2_N1    PIN_K5    3.3-V LVTTL (default)        24mA (default)   
segcode5[5]        Output    PIN_K4    2    B2_N2    PIN_K4    3.3-V LVTTL (default)        24mA (default)   
segcode5[4]        Output    PIN_K1    2    B2_N2    PIN_K1    3.3-V LVTTL (default)        24mA (default)   
segcode5[3]        Output    PIN_L3    2    B2_N2    PIN_L3    3.3-V LVTTL (default)        24mA (default)   
segcode5[2]        Output    PIN_L2    2    B2_N3    PIN_L2    3.3-V LVTTL (default)        24mA (default)   
segcode5[1]        Output    PIN_L1    2    B2_N3    PIN_L1    3.3-V LVTTL (default)        24mA (default)   
segcode5[0]        Output    PIN_M3    2    B2_N3    PIN_M3    3.3-V LVTTL (default)        24mA (default)   
segcode6[6]        Output    PIN_E4    2    B2_N0    PIN_E4    3.3-V LVTTL (default)        24mA (default)   
segcode6[5]        Output    PIN_F4    2    B2_N0    PIN_F4    3.3-V LVTTL (default)        24mA (default)   
segcode6[4]        Output    PIN_G4    2    B2_N0    PIN_G4    3.3-V LVTTL (default)        24mA (default)   
segcode6[3]        Output    PIN_H8    2    B2_N0    PIN_H8    3.3-V LVTTL (default)        24mA (default)   
segcode6[2]        Output    PIN_H7    2    B2_N0    PIN_H7    3.3-V LVTTL (default)        24mA (default)   
segcode6[1]        Output    PIN_H4    2    B2_N1    PIN_H4    3.3-V LVTTL (default)        24mA (default)   
segcode6[0]        Output    PIN_H6    2    B2_N0    PIN_H6    3.3-V LVTTL (default)        24mA (default)   
segcode7[6]        Output    PIN_G1    2    B2_N2    PIN_G1    3.3-V LVTTL (default)        24mA (default)   
segcode7[5]        Output    PIN_H3    2    B2_N1    PIN_H3    3.3-V LVTTL (default)        24mA (default)   
segcode7[4]        Output    PIN_H2    2    B2_N2    PIN_H2    3.3-V LVTTL (default)        24mA (default)   
segcode7[3]        Output    PIN_H1    2    B2_N2    PIN_H1    3.3-V LVTTL (default)        24mA (default)   
segcode7[2]        Output    PIN_J2    2    B2_N2    PIN_J2    3.3-V LVTTL (default)        24mA (default)   
segcode7[1]        Output    PIN_J1    2    B2_N2    PIN_J1    3.3-V LVTTL (default)        24mA (default)   
segcode7[0]        Output    PIN_K3    2    B2_N2    PIN_K3    3.3-V LVTTL (default)        24mA (default)   
rst        Unknown                    3.3-V LVTTL (default)        24mA (default)   
<<new node>>                                       


全是知識點,滿滿細節(jié)控,看完點贊點關注~


2c31b89eb6504aa69c2729bef8d0793c.png (112.12 KB, 下載次數(shù): 18)

2c31b89eb6504aa69c2729bef8d0793c.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美啪啪网站 | 久久综合婷婷 | 欧美激情视频一区二区三区在线播放 | 日韩欧美视频网站 | 涩爱av一区二区三区 | 99久久久国产精品 | 91中文在线观看 | 国产乱码久久久 | 久久国产高清视频 | av男人的天堂在线 | 性做久久久久久免费观看欧美 | 久草资源在线视频 | 日韩午夜网站 | 亚洲午夜视频 | 一区二区三区中文字幕 | 久久亚洲一区二区三区四区 | 精品国产一区二区三区久久久久久 | 欧美日韩三级在线观看 | 国产精品美女久久久久aⅴ国产馆 | 黄色毛片免费看 | 久久久久久久国产精品 | 成人二区 | 亚洲男人网 | 最新毛片网站 | 日韩精品激情 | 色综合久 | 午夜久久久久久久久久一区二区 | www.黄色网 | 中文字幕av一区二区三区 | 亚洲高清在线 | 亚洲欧美中文字幕在线观看 | 青青草原综合久久大伊人精品 | 午夜伦4480yy私人影院 | 免费亚洲婷婷 | 久久婷婷国产麻豆91 | 不卡的av在线 | 久久久久国色av免费观看性色 | 久久国品片 | 毛片网络 | 狠狠综合久久av一区二区小说 | 伊人狠狠干 |