国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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
    +關注

    關注

    1660

    文章

    22411

    瀏覽量

    636273
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Xilinx FPGA中IDELAYCTRL參考時鐘控制模塊的使用

    IDELAYCTRL 是 Xilinx FPGA(特別是支持高速 I/O 的系列,如 Virtex-5/6/7、Kintex-7、Artix-7、Spartan-6/7 等)中用于管理和校準輸入延遲模塊(IDELAYE2/IDELAYE3)的必須存在的參考
    的頭像 發表于 02-26 14:41 ?2581次閱讀

    LMK04000系列時鐘抖動清理器:高精度時鐘解決方案

    LMK04000系列時鐘抖動清理器:高精度時鐘解決方案 在電子設計領域,時鐘信號的穩定性和低抖動性能對于眾多應用至關重要。德州儀器(TI)的LMK04000
    的頭像 發表于 02-09 16:40 ?111次閱讀

    LMK04000 系列時鐘抖動清理器:高精度時鐘解決方案深度剖析

    LMK04000 系列時鐘抖動清理器:高精度時鐘解決方案深度剖析 引言 在當今的電子系統中,高精度時鐘信號對于數據轉換器、無線基礎設施、網絡設備等眾多應用至關重要。
    的頭像 發表于 02-09 16:30 ?116次閱讀

    汽車時鐘MC - K系列時鐘振蕩器:設計與應用指南

    汽車時鐘MC - K系列時鐘振蕩器:設計與應用指南 在電子工程領域,尤其是汽車電子設計中,時鐘振蕩器的性能直接影響著整個系統的穩定性和可靠性。今天,我們將深入探討KyOCERa AVX
    的頭像 發表于 12-30 10:10 ?262次閱讀

    數字IC/FPGA設計中的時序優化方法

    數字IC/FPGA設計的過程中,對PPA的優化是無處不在的,也是芯片設計工程師的使命所在。此節主要將介紹performance性能的優化,如何對時序路徑進行優化,提高工作時鐘頻率。
    的頭像 發表于 12-09 10:33 ?3278次閱讀
    <b class='flag-5'>數字</b>IC/<b class='flag-5'>FPGA</b>設計中的時序優化方法

    高云半導體22nm FPGA產品家族亮相ICCAD-Expo 2025

    2025年11月20日, 國內領先的FPGA芯片供應商廣東高云半導體科技股份有限公司(以下簡稱“高云半導體”)隆重出席2025集成電路發展論壇(成渝)暨第31屆集成電路設計業展覽會(ICCAD 2025)。展會期間,高云半導體全面展示了其布局完善的22nm全
    的頭像 發表于 11-27 11:10 ?2136次閱讀
    高云半導體<b class='flag-5'>22</b>nm <b class='flag-5'>FPGA</b>產品家族亮相ICCAD-Expo 2025

    NTP子母鐘系統、數字時鐘系統、NTP校時

    數字時鐘
    西安同步電子科技有限公司
    發布于 :2025年11月12日 17:02:04

    開源RISC-V處理器(蜂鳥E203)學習(二)修改FPGA綜合環境(移植到自己的Xilinx FPGA板卡)

    1.簡述 首先感謝芯來開源了蜂鳥E203 risc-v處理器,提供了比較完整的工程環境、配套的軟硬件。但是配套的FPGA板卡實在太貴,對于自費學習的來說是不小的學習成本,而且我也認為完備環境
    發表于 10-31 08:46

    FPGA在機器學習中的具體應用

    隨著機器學習和人工智能技術的迅猛發展,傳統的中央處理單元(CPU)和圖形處理單元(GPU)已經無法滿足高效處理大規模數據和復雜模型的需求。FPGA(現場可編程門陣列)作為一種靈活且高效的硬件加速平臺
    的頭像 發表于 07-16 15:34 ?2889次閱讀

    Analog Devices Inc. AD9546雙通道DPLL 數字化時鐘同步器數據手冊

    )對準的靈活、可擴展的時鐘傳輸系統。AD9546非常適合用于設計網絡設備,其必須符合ITU-T G.8273.2 D類IEEE ^?^ 邊界時鐘的同步要求。此外,數字化時鐘還適合用于需要準確地將頻率和相位傳輸到多個用例端點的應用
    的頭像 發表于 07-01 09:53 ?742次閱讀
    Analog Devices Inc. AD9546雙通道DPLL <b class='flag-5'>數字化時鐘</b>同步器數據手冊

    高性能緊湊型 RFSoC FPGA 開發平臺 AXW22,重塑射頻開發體驗

    如果您正在煩惱如何在 有限的物理空間和預算內,依然實現卓越的射頻帶寬與處理能力 ,ALINX 基于 AMD RFSoC FPGA 開發板 AXW22 正是為您準備的。 ? (AMD Zynq
    的頭像 發表于 06-24 10:24 ?941次閱讀
    高性能緊湊型 RFSoC <b class='flag-5'>FPGA</b> 開發平臺 AXW<b class='flag-5'>22</b>,重塑射頻開發體驗

    【教程】輕松上手!E22系列模組簡單通信教程

    一簡介E22-xxxT22系列是全新一代的LoRa無線數傳模塊,該系列(UART)模塊基于SEMTECH高性能射頻芯片而研發,其發射功率為:22dBm,具有多種傳輸方式,工作頻段分別在
    的頭像 發表于 06-19 19:33 ?1262次閱讀
    【教程】輕松上手!E<b class='flag-5'>22</b><b class='flag-5'>系列</b>模組簡單通信教程

    Xilinx Ultrascale系列FPGA時鐘資源與架構解析

    Ultrascale是賽靈思開發的支持包含步進功能的增強型FPGA架構,相比7系列的28nm工藝,Ultrascale采用20nm的工藝,主要有2個系列:Kintex和Virtex
    的頭像 發表于 04-24 11:29 ?2604次閱讀
    Xilinx Ultrascale<b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>的<b class='flag-5'>時鐘</b>資源與架構解析

    FPGA新品】正點原子L22開發板來了!采用紫光的Logos系列FPGA,適合工業控制、圖像處理、高速通信等領域!

    FPGA新品】正點原子L22開發板來了!采用紫光的Logos系列FPGA,適合工業控制、圖像處理、高速通信等領域! ATK-L22開發板采
    發表于 04-21 17:28

    進群免費領FPGA學習資料!數字信號處理、傅里葉變換與FPGA開發等

    進群免費領FPGA學習資料啦!小編整理了數字信號處理、傅里葉變換與FPGA開發等FPGA必看資料,需要的小伙伴可以加小助手(微信:elecf
    發表于 04-07 16:41