在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA學習系列:22. 數字時鐘的設計

FPGA學習交流 ? 2018-08-07 13:47 ? 次閱讀

設計背景:

數字時鐘的設計,在我們的好多設計中都有過這樣那樣的設計,這基本屬于一個比較精簡的一個小項目,可以練習我們學到的好多知識點。

設計原理:

本次的設計主要還是為了結合我們所學到的知識,因為我們學到的知識要經常的用,并不是我們不用,一直在用我們就可以加深我們的想法和思路,這也是一種良好的學習態度。

我設計的數字鐘是這樣的一種架構,我又3個按鍵,上電后,我們需要先配置我們的時分秒,我的設計是一個按鍵來控制我們的時,一個按鍵來控制我們的分,秒我沒有控制,因為我比較懶,大家可以自己取設計控制一下我們的設計,那么然后是這樣的,第三個按鍵來控制我們時鐘的運行,也就是說當我們用2個那件配置好了我們的時鐘的時候,按下這個開始按鍵,我們的時鐘就開始工作了。

那么我們就在來討論一下我們的按鍵模塊,我們的按鍵模塊是這樣的,因為按鍵有抖動,我加入按鍵消抖,和邊沿檢測電路,這樣我們就實現了按鍵的消抖,用到的也就是我們前面設計的知識。

設計架構圖:

image.png


寫好一個模塊,我們可以任意例化幾次都是可以的,目前還不用考慮別的,三個按鍵就例化了三次我們的按鍵消抖和邊沿檢測。

設計代碼:

設計模塊

0moduletime_seg(clk,rst_n,sel,seg7,key_fen,key_shi,go);

1

2 inputclk;

3 inputrst_n;

4

5 inputkey_fen; //控制分的按鍵

6 inputkey_shi; //控制時的按鍵

7 inputgo; //控制時鐘運行的按鍵

8 output[2:0]sel;

9 output[7:0]seg7;

10

11 wire[23:0]data_in;

12

13

14seg seg_dut( //例化我們的數碼管模塊

15 .clk(clk),

16 .rst_n(rst_n),

17 .sel(sel),

18 .seg7(seg7),

19 .data_in(data_in)

20 );

21 wiref_fen,f_shi,f_go;

22contol countol_dut( //例化我們的控制模塊

23 .clk(clk),

24 .rst_n(rst_n),

25 .data(data_in),

26 .key_fen1(f_fen),

27 .key_shi1(f_shi),

28 .go1(f_go)

29 );

30 wirefen_x,shi_x,go_x;

31key_xiaodou shi3( //例化3次消抖

32 .clk(clk),

33 .rst_n(rst_n),

34 .key(key_shi),

35 .key_x(shi_x)

36 );

37key_xiaodou fen3(

38 .clk(clk),

39 .rst_n(rst_n),

40 .key(key_fen),

41 .key_x(fen_x)

42 );

43

44key_xiaodou go3(

45 .clk(clk),

46 .rst_n(rst_n),

47 .key(go),

48 .key_x(go_x)

49 );

50

51edge_jiance shi2( //例化3次邊沿檢測電路

52 .clk(clk),

53 .rst_n(rst_n),

54 .signle(shi_x),

55 .nege_dge(f_shi),

56 .pose_dge()

57 );

58edge_jiance fen2(

59 .clk(clk),

60 .rst_n(rst_n),

61 .signle(fen_x),

62 .nege_dge(f_fen),

63 .pose_dge()

64 );

65edge_jiance go2(

66 .clk(clk),

67 .rst_n(rst_n),

68 .signle(go_x),

69 .nege_dge(f_go),

70 .pose_dge()

71 );

72

73endmodule

控制模塊:

0modulecontol(clk,rst_n,data,key_fen1,key_shi1,go1);

1

2 inputclk;

3 inputrst_n;

4 inputkey_fen1; //輸入端口

5 inputkey_shi1;

6 inputgo1;

7

8 outputreg[23:0]data; //輸出的端口

9

10

11 reg[26:0]count;

12

13 always@(posedgeclk ornegedgerst_n) //1秒的計數器

14 if(!rst_n)

15 begin

16 count <=26'd0;

17 end

18 else

19 begin

20 if(count ==50_000_000)

21 count <=26'd0;

22 else

23 begin

24 count <=count +1'd1;

25 end

26 end

27

28 wireflag;

29

30 assignflag =(count ==50_000_000)?1'b1:1'b0; //計數到了1S給一個高脈沖

31

32 reg[1:0]state;

33 always@(posedgeclk ornegedgerst_n)

34 if(!rst_n)

35 begin

36 data <=0;

37 state <=0;

38 end

39 else

40 case(state)

41 0:begin

42 if(key_fen1) //調節分

43 begin

44 data[11:8]<=data[11:8]+1;

45 if(data[11:8]==9)

46 begin

47 data[11:8]<=4'd0;

48 data[15:12]<=data[15:12]+1'b1;

49 if(data[15:12]==5)

50 data[15:12]<=0;

51 end

52 end

53 elseif(key_shi1) //調節時

54 begin

55 data[19:16]<=data[19:16]+1;

56 if(data[19:16]==9&&data[23:20]!=1)

57 begin

58 data[19:16]<=4'd0;

59 data[23:20]<=data[23:20]+1'b1;

60 if(data[23:20]==1)

61 data[23:20]<=0;

62 end

63 elseif(data[19:16]==2&&data[23:20]==1)

64 begin

65 data[19:16]<=0;

66 data[23:20]<=0;

67 end

68 end

69 elseif(go1) //讓我們的時鐘啟動

70 begin

71 state <=1;

72 end

73 else

74 state <=0;

75 end

//一層一層的嵌套設計,讓我們的秒一個一個的來驅動

76 1:begin

77 if(flag )

78 begin

79 data[3:0]<=data[3:0]+1;

80 if(data[3:0]==9) //秒的個位

81 begin

82 data[3:0]<=4'd0;

83 data[7:4]<=data[7:4]+1'b1;

84 if(data[7:4]==5) //秒的時位

85 begin

86 data[7:4]<=4'd0;

87 data[11:8]<=data[11:8]+1'b1;

88 if(data[11:8]==9) //分的個位

89 begin

90 data[11:8]<=4'd0;

91 data[15:12]<=data[15:12]+1'b1;

92 if(data[15:12]==5) //分的十位

93 begin

94 data[15:12]<=4'd0;

95 data[19:16]<=data[19:16]+1'b1;

96 if(data[19:16]==9&&data[23:20]!=1)//時的計算

97 begin

98 data[23:20]<=4'd0;

99 data[23:20]<=data[23:19]+1'b1;

100 if(data[23:20]==1)

101 data[23:20]<=4'd0;

102 end

103 elseif(data[19:16]==2&&data[23:20]==1)//如果到12小時制

104 begin

105 data[19:16]<=0;

106 data[23:20]<=0;

107 end

108 end

109 end

110 end

111 end

112 end

113 end

114

115 default:;

116 endcase

117

118

19 endmodule

這邊我就不給大家仿真了,后續我會給大家發一個完整的工程,建議大家可以自己例化我的設計。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21777

    瀏覽量

    604686
收藏 人收藏

    評論

    相關推薦

    時序約束一主時鐘與生成時鐘

    一、主時鐘create_clock 1.1 定義 主時鐘是來自FPGA芯片外部的時鐘,通過時鐘輸入端口或高速收發器GT的輸出引腳進入
    的頭像 發表于 11-29 11:03 ?532次閱讀
    時序約束一主<b class='flag-5'>時鐘</b>與生成<b class='flag-5'>時鐘</b>

    FPGA加速深度學習模型的案例

    FPGA(現場可編程門陣列)加速深度學習模型是當前硬件加速領域的一個熱門研究方向。以下是一些FPGA加速深度學習模型的案例: 一、基于FPGA
    的頭像 發表于 10-25 09:22 ?285次閱讀

    FPGA做深度學習能走多遠?

    今天給大俠帶來在FPAG技術交流群里平時討論的問題答疑合集(十四),以后還會多推出本系列,話不多說,上貨。 FPGA技術交流群目前已有十多個群,QQ和微信均覆蓋,有需要的大俠可以進群,一起交流學習
    發表于 09-27 20:53

    FPGA如何消除時鐘抖動

    FPGA(現場可編程門陣列)設計中,消除時鐘抖動是一個關鍵任務,因為時鐘抖動會直接影響系統的時序性能、穩定性和可靠性。以下將詳細闡述FPGA中消除
    的頭像 發表于 08-19 17:58 ?1530次閱讀

    源碼系列:基于FPGA數字電壓表(AD)設計

    今天給大俠帶來基于FPGA數字電壓表設計,附源碼,獲取源碼,請在“FPGA技術江湖”公眾號內回復“數字電壓表設計源碼”,可獲取源碼文件。話不多說,上貨。 設計背景 模數轉
    發表于 05-28 17:29

    紫光同創PGL22G開發板|盤古22K開發板,國產FPGA開發板,接口豐富,高性價比

    盤古22K開發板是基于紫光同創Logos系列PGL22G芯片設計的一款FPGA開發板,全面實現國產化方案,板載資源豐富,高容量、高帶寬,外圍接口豐富,不僅適用于高校教學,還可以用于實驗
    發表于 05-23 10:04

    FPGA時鐘電路結構原理

    FPGA 中包含一些全局時鐘資源。以AMD公司近年的主流FPGA為例,這些時鐘資源由CMT(時鐘管理器)產生,包括DCM、PLL和MMCM等
    發表于 04-25 12:58 ?1978次閱讀
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>時鐘</b>電路結構原理

    FPGA學習筆記-入門

    大概10年前,大學同學建議我學習DSP。當因為工作忙,也只是簡單學習了DSP的一些基礎知識,沒有進一步深入學習和時間。結果現在,好像DSP已經不再是主流了,現在有了FPGA。 現在想想
    發表于 04-09 10:55

    FPGA初步學習印象

    在大學學習數字電路時,還記得有時候會用TTL或者CMOS器件,搭建一些功能復雜的電路。后來隨著單片機的發展,TTL或者CMOS的器件和應用似乎已經沒落了。手里還有的一些器件基本上吃灰,沒什么大用
    發表于 04-09 09:46

    FPGA學習資料分享

    學習資源Verilog 教程,數字邏輯設計 (點擊文字進入鏈接). 具備一定硬件描述語言基礎是發開FPGA通用的。此外就是根據廠家型號、環境和提供的資源,能有效使用組織起來,實現目標功能,這更傾向于實踐應用。 大家有關于實踐應
    發表于 03-31 13:23

    fpga學習需要具備哪些課程

    FPGA(Field Programmable Gate Array)學習需要具備一系列的課程知識和實踐技能
    的頭像 發表于 03-14 15:51 ?1247次閱讀

    種草一塊國產FPGA開發板,不用燒錄器,一根TypeC線即插即用,盤古EU22K開發板

    和實驗例程很豐富,以太網/DDR3/HDMI Test/Loop/串口收發/數字時鐘實驗例程等都有,對于想嘗試國產FPGA平臺的友友們,墻裂推薦~~
    發表于 02-21 11:11

    FPGA輸入的時鐘信號必須是方波么?正弦波會有影響么?

    FPGA輸入的時鐘信號必須是方波么?正弦波會有影響么? FPGA是一種可編程邏輯器件,通常用于實現數字電路。輸入時鐘信號是
    的頭像 發表于 01-31 11:31 ?3665次閱讀

    FPGA數字時鐘電路解析

    FPGA 在通信領域的應用可以說是無所不能,得益于 FPGA 內部結構的特點,它可以很容易地實現分布式的算法結構,這一點對于實現無線通信中的高速數字信號處理十分有利。
    發表于 01-24 13:46 ?854次閱讀
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>數字</b><b class='flag-5'>時鐘</b>電路解析

    FPGA時鐘內部設計方案

    時鐘設計方案 在復雜的FPGA設計中,設計時鐘方案是一項具有挑戰性的任務。設計者需要很好地掌握目標器件所能提供的時鐘資源及它們的限制,需要了解不同設計技術之間的權衡,并且需要很好地
    發表于 01-22 09:30 ?659次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時鐘</b>內部設計方案
    主站蜘蛛池模板: 一区二区三区中文字幕| 国卡一卡二卡三免费网站| 岛国毛片在线观看| 黄色录像日本| 乱人伦xxxx国语对白| 亚洲午夜网| 午夜精品在线观看| 高清欧美一级在线观看| 日本福利小视频| 亚洲色图综合网| 5566在线观看| 亚洲一区二区在线| 欧美极品| 日本aaaaa特黄毛片| 一区二区三区无码高清视频| 视频在线一区| 亚洲青青草原| 日韩在线网| 色天使视频| 四虎影院久久| 五月婷婷开心综合| 欧美一区二区三区免费高| 极品美女洗澡后露粉嫩木耳视频| 成人在线免费电影| 天天插天天搞| 日处女穴| 国产最新网站| xxxx性欧美极品另类| 国产精品久久在线| 色费女人18女人毛片免费视频| 久久黄色视屏| 国产欧美视频在线| 国产在线视频你懂的| 国产小毛片| www色视频| 亚洲444kkk| 丁香综合在线| 欧美五月激情| 伊人手机在线观看| 欧美日韩色图| 亚洲偷图色综合色就色|