一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用至簡(jiǎn)設(shè)計(jì)法的數(shù)字時(shí)鐘設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:工程師1 ? 2018-05-24 10:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)字時(shí)鐘是常見(jiàn)的畢業(yè)設(shè)計(jì)題目。我們做畢業(yè)設(shè)計(jì)時(shí),一般使用數(shù)碼管來(lái)顯示數(shù)字。小時(shí)、分鐘和秒鐘各兩位數(shù)字,所以需要用到6位的數(shù)碼管。

如果平時(shí)不動(dòng)手,要做這個(gè)畢業(yè)設(shè)計(jì),很多人都會(huì)覺(jué)得挺難的。收集到的代碼,其風(fēng)格也是五花八門(mén),第一感覺(jué)是貌似能看懂,但就是不知道怎么設(shè)計(jì)出來(lái)的。

其實(shí)如果有正確的設(shè)計(jì)思路和方法,其實(shí)現(xiàn)起來(lái)是非常簡(jiǎn)單的。下面我們就核心的數(shù)字模塊為例,講解如何使用至簡(jiǎn)設(shè)計(jì)法來(lái)實(shí)現(xiàn)。

數(shù)字模塊的功能,是產(chǎn)生6個(gè)信號(hào),分別表示時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位、秒十位和秒個(gè)位的值。例如上述信號(hào)值依次為2、1、4、3、5、9時(shí),則表示時(shí)間為21點(diǎn)43分59秒。

仔細(xì)觀察6個(gè)信號(hào),每個(gè)單獨(dú)來(lái)看,其數(shù)字都是遞增的,增加到一定數(shù)后就清零。以秒個(gè)位為例,開(kāi)始時(shí)值為0,然后是1、2、3依次增加,直到變成9后,然后變成0,再次循環(huán)。其他信號(hào)都是相同的規(guī)律。這些依次遞增的信號(hào),就是計(jì)數(shù)器。

我們認(rèn)識(shí)到這些信號(hào)是計(jì)數(shù)器,那就好辦了。計(jì)數(shù)器設(shè)計(jì)只需要考慮兩點(diǎn),什么時(shí)候加1和要數(shù)多少個(gè),明確這兩個(gè)問(wèn)題后,剩下的就是套用計(jì)數(shù)器模板了。

以秒個(gè)位這個(gè)計(jì)數(shù)器為例,這個(gè)計(jì)數(shù)器加1的條件是什么呢?到了1秒就加1。那我們?cè)趺粗?秒鐘時(shí)間到了呢?FPGA是通過(guò)數(shù)時(shí)鐘周期數(shù)來(lái)確定時(shí)間的。例如下圖,假設(shè)時(shí)鐘頻率是50MHz,即時(shí)鐘周期是20ns,cnt是每個(gè)時(shí)鐘加1,則當(dāng)cnt==99時(shí),就說(shuō)明數(shù)了100個(gè)時(shí)鐘周期,也就是時(shí)間是100*20=2000ns了。

同樣的道理,1秒鐘時(shí)間,我們就是數(shù)1s/20ns= 50_000_000個(gè)時(shí)鐘周期。我們也認(rèn)識(shí)到這個(gè)cnt也是計(jì)數(shù)器,其加1條件是“1”,要數(shù)50_000_000個(gè)數(shù)。我們套用計(jì)數(shù)器模塊,即有下面代碼。

always @(posedge clk or negedge rst_n)begin

if(!rst_n)begin

cnt 《= 0;

end

else if(add_cnt)begin

if(end_cnt)

cnt 《= 0;

else

cnt 《= cnt + 1;

end

end

assign add_cnt = 1 ;

assign end_cnt = add_cnt && cnt== 50_000_000-1;

代碼中,always語(yǔ)句除了名字后,完全套用模板,不用更改。加1條件體現(xiàn)在第13行,要數(shù)多少個(gè)體現(xiàn)在第14行。

確定了cnt后,那么秒個(gè)位的加1條件就非常明確了,就是cnt數(shù)到50_000_000個(gè),也就是end_cnt有效的時(shí)候。所以秒個(gè)位的加1條件是end_cnt。

秒個(gè)位要數(shù)多少個(gè)數(shù)字呢?由0到9,因此有10個(gè)。

綜上所述,我們得到秒個(gè)位的代碼如下表。

always@(posedge clk or negedge rst_n)begin

if(rst_n==1‘b0)begin

miao_g 《= 0;

end

else if(add_miao_g)begin

if(end_miao_g)

miao_g 《= 0;

else

miao_g 《= miao_g + 1;

end

end

assign add_miao_g = end_cnt;

assign end_miao_g = add_miao_g && miao_g == 10-1;

用類似于秒個(gè)位的思考方法,我們可以得到秒十位、分個(gè)位、分十位、時(shí)個(gè)位和時(shí)十位的代碼,完整的代碼如下表。

always @(posedge clk or negedge rst_n)begin

if(!rst_n)begin

cnt 《= 0;

end

else if(add_cnt)begin

if(end_cnt)

cnt 《= 0;

else

cnt 《= cnt + 1;

end

end

assign add_cnt = 1 ;

assign end_cnt = add_cnt && cnt== 50_000_000-1;

always@(posedge clk or negedge rst_n)begin

if(rst_n==1’b0)begin

miao_g 《= 0;

end

else if(add_miao_g)begin

if(end_miao_g)begin

miao_g 《= 0;

end

else begin

miao_g 《= miao_g + 1;

end

end

end

assign add_miao_g = end_cnt;

assign end_miao_g = add_miao_g && miao_g == 10-1;

always @(posedge clk or negedge rst_n)begin

if(rst_n==1‘b0)begin

miao_s 《= 0;

end

else if(add_miao_s)begin

if(end_miao_s)begin

miao_s 《= 0;

end

else begin

miao_s 《= miao_s + 1;

end

end

end

assign add_miao_s = end_miao_g;

assign end_miao_s = add_miao_s && miao_s == 6-1;

always @(posedge clk or negedge rst_n)begin

if(rst_n==1’b0)begin

fen_g 《= 0;

end

else if(add_fen_g)begin

if(end_fen_g)begin

fen_g 《= 0;

end

else begin

fen_g 《= fen_g + 1;

end

end

end

assign add_fen_g = end_miao_s;

assign end_fen_g = add_fen_g && fen_g == 10-1;

always @(posedge clk or negedge rst_n)begin

if(rst_n==1‘b0)begin

fen_s 《= 0;

end

else if(add_fen_s)begin

if(end_fen_s)begin

fen_s 《= 0;

end

else begin

fen_s 《= fen_s + 1;

end

end

end

assign add_fen_s = end_fen_g;

assign end_fen_s = add_fen_s && fen_s == 6-1;

always @(posedge clk or negedge rst_n)begin

if(rst_n==1’b0)begin

shi_g 《= 0;

end

else if(add_shi_g)begin

if(end_shi_g)begin

shi_g 《= 0;

end

else begin

shi_g 《= shi_g + 1;

end

end

end

assign add_shi_g = end_fen_s;

assign end_shi_g = add_shi_g && shi_g ==x-1;

always @(posedge clk or negedge rst_n)begin

if(rst_n==1‘b0)begin

shi_s 《= 0;

end

else if(add_shi_s)begin

if(end_shi_s)begin

shi_s 《= 0;

end

else begin

shi_s 《= shi_s + 1;

end

end

end

assign add_shi_s = end_shi_g;

assign end_shi_s = add_shi_s && shi_s == 3-1;

always@(*)begin

if(shi_s==2)

x =4;

else

x =10;

end

細(xì)心的讀者可以發(fā)現(xiàn),上面每段計(jì)數(shù)器格式都非常相似。沒(méi)錯(cuò),這就是技巧。我們?cè)O(shè)計(jì)的這套模板,基本上可以應(yīng)用于任何場(chǎng)合,任何時(shí)候讀者只考慮兩個(gè)因素就夠了,不會(huì)出現(xiàn)丟三落四的情況,而且每次只需要考慮一個(gè)因素,保證能做出最優(yōu)的設(shè)計(jì)。

對(duì)了,上面代碼中,我們沒(méi)有補(bǔ)充信號(hào)定義這些。其實(shí)我們認(rèn)為這些信號(hào)定義純屬體力勞動(dòng),是根本就不需要學(xué)習(xí)的,所以我們就沒(méi)列出來(lái)。讀者有興趣可必補(bǔ)充。另外加上數(shù)碼管譯碼電路,那么一個(gè)完整的數(shù)字時(shí)鐘代碼就出來(lái)了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Analog Devices Inc. AD9546雙通道DPLL 數(shù)字化時(shí)鐘同步器數(shù)據(jù)手冊(cè)

    Analog Devices Inc. AD9546雙通道DPLL數(shù)字化時(shí)鐘同步器結(jié)合了數(shù)字化時(shí)鐘技術(shù),可在系統(tǒng)中高效傳輸和分配時(shí)鐘信號(hào)。AD9546上的數(shù)字化時(shí)鐘支持設(shè)計(jì)具有良好控制
    的頭像 發(fā)表于 07-01 09:53 ?155次閱讀
    Analog Devices Inc. AD9546雙通道DPLL <b class='flag-5'>數(shù)字化時(shí)鐘</b>同步器數(shù)據(jù)手冊(cè)

    簡(jiǎn)儀科技出席AI+智能儀器高校研修會(huì)暨教師交流會(huì)

    此前,2025年4月19日20日,由江蘇省儀器儀表學(xué)會(huì)主辦、東南大學(xué)承辦、上海簡(jiǎn)儀科技有限公司(以下簡(jiǎn)稱“簡(jiǎn)儀“),上海華用電子科技有限公司作為支持企業(yè)的“AI+智能儀器高校研修會(huì)暨教師交流會(huì)”在東南大學(xué)四牌樓校區(qū)隆重舉行。
    的頭像 發(fā)表于 04-23 16:22 ?403次閱讀

    AD9546雙DPLL數(shù)字時(shí)鐘同步器技術(shù)手冊(cè)

    AD9546 采用數(shù)字化時(shí)鐘技術(shù),可在系統(tǒng)中高效傳輸和分配時(shí)鐘信號(hào)。數(shù)字化時(shí)鐘具有設(shè)計(jì)靈活性,且可使用可擴(kuò)展的時(shí)鐘傳輸系統(tǒng),并具有良好的相位(時(shí)間)對(duì)齊控制。這些特性使 AD9546
    的頭像 發(fā)表于 04-09 15:11 ?366次閱讀
    AD9546雙DPLL<b class='flag-5'>數(shù)字</b><b class='flag-5'>時(shí)鐘</b>同步器技術(shù)手冊(cè)

    標(biāo)準(zhǔn)網(wǎng)絡(luò)時(shí)鐘系統(tǒng):數(shù)字時(shí)代的通用語(yǔ)法

    特效與舞臺(tái)燈光保持幀級(jí)對(duì)齊——這些突破物理界限的協(xié)作,都依賴著數(shù)字世界的基礎(chǔ)語(yǔ)法:標(biāo)準(zhǔn)網(wǎng)絡(luò)時(shí)鐘系統(tǒng)。 數(shù)字世界的巴別塔解藥 ? ? ? 物聯(lián)網(wǎng)設(shè)備每秒產(chǎn)生2.5億個(gè)帶時(shí)間戳的數(shù)據(jù)點(diǎn),但若缺乏統(tǒng)一標(biāo)準(zhǔn),就像全球機(jī)場(chǎng)使用不同時(shí)區(qū):工
    的頭像 發(fā)表于 03-03 10:08 ?372次閱讀

    數(shù)字時(shí)鐘系統(tǒng):城市脈動(dòng)中的無(wú)聲指揮家

    當(dāng)數(shù)字時(shí)鐘從孤立設(shè)備進(jìn)化為智能節(jié)點(diǎn),它承載的功能已超越計(jì)時(shí)本身。這些跳動(dòng)的數(shù)字如同現(xiàn)代社會(huì)的標(biāo)點(diǎn)符號(hào),在廠房、街巷、云端劃定出精密的時(shí)間網(wǎng)格,讓龐雜的都市系統(tǒng)得以和諧共振。
    的頭像 發(fā)表于 03-02 09:35 ?495次閱讀

    基于FPGA的數(shù)字時(shí)鐘設(shè)計(jì)

    本次的設(shè)計(jì)的數(shù)字鐘思路描述如下,使用3個(gè)key按鍵,上電后,需要先配置數(shù)字時(shí)鐘的時(shí)分秒,設(shè)計(jì)一個(gè)按鍵來(lái)控制數(shù)字時(shí)鐘的時(shí),第二個(gè)按鍵來(lái)控制
    的頭像 發(fā)表于 01-21 10:29 ?778次閱讀
    基于FPGA的<b class='flag-5'>數(shù)字</b><b class='flag-5'>時(shí)鐘</b>設(shè)計(jì)

    EE-116:SHARC簡(jiǎn)詞DMA

    電子發(fā)燒友網(wǎng)站提供《EE-116:SHARC簡(jiǎn)詞DMA.pdf》資料免費(fèi)下載
    發(fā)表于 01-05 09:56 ?0次下載
    EE-116:SHARC<b class='flag-5'>簡(jiǎn)</b>詞DMA

    京準(zhǔn)科技科普:數(shù)字化校園網(wǎng)絡(luò)時(shí)鐘系統(tǒng)建設(shè)

    京準(zhǔn)科技科普:數(shù)字化校園網(wǎng)絡(luò)時(shí)鐘系統(tǒng)建設(shè)
    的頭像 發(fā)表于 10-29 16:02 ?552次閱讀
    京準(zhǔn)科技科普:<b class='flag-5'>數(shù)字</b>化校園網(wǎng)絡(luò)<b class='flag-5'>時(shí)鐘</b>系統(tǒng)建設(shè)

    京準(zhǔn)電鐘:校園體育場(chǎng)館數(shù)字化NTP網(wǎng)絡(luò)時(shí)鐘系統(tǒng)

    京準(zhǔn)電鐘:校園體育場(chǎng)館數(shù)字化NTP網(wǎng)絡(luò)時(shí)鐘系統(tǒng)
    的頭像 發(fā)表于 09-24 11:10 ?679次閱讀
    京準(zhǔn)電鐘:校園體育場(chǎng)館<b class='flag-5'>數(shù)字</b>化NTP網(wǎng)絡(luò)<b class='flag-5'>時(shí)鐘</b>系統(tǒng)

    隔離式調(diào)制器與MCU之間的數(shù)字接口的時(shí)鐘邊沿延遲補(bǔ)償

    電子發(fā)燒友網(wǎng)站提供《隔離式調(diào)制器與MCU之間的數(shù)字接口的時(shí)鐘邊沿延遲補(bǔ)償.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 11:18 ?0次下載
    隔離式調(diào)制器與MCU之間的<b class='flag-5'>數(shù)字</b>接口的<b class='flag-5'>時(shí)鐘</b>邊沿延遲補(bǔ)償

    用于3D圖像的14可配置時(shí)鐘緩沖器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《用于3D圖像的14可配置時(shí)鐘緩沖器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 10:43 ?0次下載
    用于3D圖像的1<b class='flag-5'>至</b>4可配置<b class='flag-5'>時(shí)鐘</b>緩沖器數(shù)據(jù)表

    CDC208雙通道1線4線時(shí)鐘驅(qū)動(dòng)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《CDC208雙通道1線4線時(shí)鐘驅(qū)動(dòng)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-22 11:52 ?0次下載
    CDC208雙通道1線<b class='flag-5'>至</b>4線<b class='flag-5'>時(shí)鐘</b>驅(qū)動(dòng)器數(shù)據(jù)表

    CDC23511線10線時(shí)鐘驅(qū)動(dòng)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《CDC23511線10線時(shí)鐘驅(qū)動(dòng)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-21 10:45 ?0次下載
    CDC23511線<b class='flag-5'>至</b>10線<b class='flag-5'>時(shí)鐘</b>驅(qū)動(dòng)器數(shù)據(jù)表

    時(shí)鐘抖動(dòng)和時(shí)鐘偏移的區(qū)別

    時(shí)鐘抖動(dòng)(Jitter)和時(shí)鐘偏移(Skew)是數(shù)字電路設(shè)計(jì)中兩個(gè)重要的概念,它們對(duì)電路的時(shí)序性能和穩(wěn)定性有著顯著的影響。下面將從定義、原因、影響以及應(yīng)對(duì)策略等方面詳細(xì)闡述時(shí)鐘抖動(dòng)和
    的頭像 發(fā)表于 08-19 18:11 ?2113次閱讀

    簡(jiǎn)述時(shí)鐘抖動(dòng)的產(chǎn)生原因

    時(shí)鐘抖動(dòng)(Clock Jitter)是時(shí)鐘信號(hào)領(lǐng)域中的一個(gè)重要概念,它指的是時(shí)鐘信號(hào)時(shí)間與理想事件時(shí)間的偏差。這種偏差不僅影響數(shù)字電路的時(shí)序性能,還可能對(duì)系統(tǒng)的穩(wěn)定性和可靠性造成不利影
    的頭像 發(fā)表于 08-19 17:58 ?3819次閱讀