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

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

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

FPGA設(shè)計(jì)實(shí)戰(zhàn)-復(fù)位電路仿真設(shè)計(jì)

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-10-30 12:17 ? 次閱讀

最近看 advanced fpga 以及 fpga 設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位電路有這么多的門道,而不是簡單的外界信號輸入系統(tǒng)復(fù)位。

流程:
1. 異步復(fù)位:

優(yōu)點(diǎn):⑴大多數(shù) DFF 都有異步復(fù)位端口,因此采用異步復(fù)位可以節(jié)約資源。

⑵設(shè)計(jì)相對簡單。

⑶異步復(fù)位信號識別方便,而且可以很方便地使用 fpga 的全局復(fù)位端口。

缺點(diǎn):⑴在復(fù)位信號釋放時(shí)容易出現(xiàn)問題,亞穩(wěn)態(tài)。

⑵復(fù)位信號容易受到毛刺的影響。這是由于時(shí)鐘抖動(dòng)或按鍵觸發(fā)時(shí)的硬件原因造成的。

代碼:一個(gè) 4bit 的計(jì)數(shù)器。

1 always @(posedge clk or negedge sys_rst_n) begin
2 if (~sys_rst_n) begin
3 count <= 0;
4 end //if
5 else begin
6 count <= count + 1'b1; ? ?
7 end //else
8 end //always

復(fù)位信號低電平時(shí)候,系統(tǒng)立刻進(jìn)入復(fù)位態(tài);

2. 同步復(fù)位:

優(yōu)點(diǎn):⑴降低亞穩(wěn)態(tài)出現(xiàn)的概率。

⑵使所設(shè)計(jì)的系統(tǒng)成為 100%的同步時(shí)序電路,有利于時(shí)序分析,綜合出來的 Fmax 一般較高。

⑶只有在時(shí)鐘有效沿才有效,可以濾除高于時(shí)鐘頻率的毛刺。

缺點(diǎn):⑴復(fù)位信號的有效時(shí)長必須大于時(shí)鐘周期,才能真正被系統(tǒng)識別并完成復(fù)位任務(wù)。

⑵大多數(shù)的 Dff 只有異步復(fù)位端口,會(huì)浪費(fèi)較多的邏輯資源。

代碼:

1 always @(posedge clk) begin
2 if (~sys_rst_n) begin
3 count <= 0;
4 end //if
5 else begin
6 count <= count + 1'b1; ? ?
7 end //else
8 end //always

時(shí)鐘上升沿如果復(fù)位信號為低電平,復(fù)位開始,時(shí)鐘上升沿若復(fù)位信號為高電平,復(fù)位結(jié)束。

3. 異步復(fù)位同步釋放:(推薦使用)

優(yōu)點(diǎn):結(jié)合了同步復(fù)位與異步復(fù)位的優(yōu)點(diǎn)。

缺點(diǎn):容易受到噪聲與宰脈沖的干擾。如果可能,最好對輸入到 fpga 的異步復(fù)位信號先進(jìn)行濾波與去抖動(dòng)。

代碼:

1 module rstn_as (
2 //input;
3 input wire clk,
4 input wire sys_rst_n,
5 //output;
6 output reg rst_n
7 );
8 reg rst_n_reg;
9 always @(posedge clk or negedge sys_rst_n) begin
10 if (~sys_rst_n) begin
11 rst_n <= 1'b0;
12 rst_n_reg <= 1'b0;
13 end //if
14 else begin
15 rst_n_reg <= 1'b1;
16 rst_n <= rst_n_reg; ? ?
17 end //else
18 end //always
19
20 endmodule
wire rst_n;

rstn_as u1(
.clk (clk),
.sys_rst_n (sys_rst_n),
.rst_n (rst_n)
);
always @(posedge clk or negedge rst_n) begin
if (~rst_n) begin
count <= 0;
end //if
else begin
count <= count + 1'b1; ? ?
end //else
end //always


當(dāng)復(fù)位信號低電平時(shí),系統(tǒng)立即復(fù)位;當(dāng)時(shí)鐘上升沿檢測到復(fù)位信號失效后,在下一個(gè)時(shí)鐘上升沿拉高 rst_n。新的 rst_n 是已經(jīng)同步化了的復(fù)位信號。

以上。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21539

    瀏覽量

    600501
收藏 人收藏

    評論

    相關(guān)推薦

    fpga設(shè)計(jì)實(shí)戰(zhàn)復(fù)位電路仿真設(shè)計(jì)

    最近看advanced fpga 以及fpga設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位
    發(fā)表于 09-01 15:37 ?1670次閱讀
    <b class='flag-5'>fpga</b>設(shè)計(jì)<b class='flag-5'>實(shí)戰(zhàn)</b>:<b class='flag-5'>復(fù)位</b><b class='flag-5'>電路仿真</b>設(shè)計(jì)

    電路仿真軟件哪個(gè)更實(shí)用

    大家好,我是電子設(shè)計(jì)方面的菜鳥,但是由于工作需要必須從頭開始學(xué)習(xí)這方面的知識,領(lǐng)導(dǎo)我研究一下電路仿真,因此我想請教大家我應(yīng)該用什么軟件來進(jìn)行電路仿真呢?電路設(shè)計(jì)我們用的***,電路中也
    發(fā)表于 06-18 23:03

    電路仿真與實(shí)驗(yàn)

    電路仿真與實(shí)驗(yàn) 非常詳細(xì)的介紹了其對應(yīng)功能,是份不錯(cuò)的資料
    發(fā)表于 03-12 01:14 ?142次下載

    EWB電路仿真軟件下載

    EWB電路仿真軟件,EWB電路仿真軟件下載
    發(fā)表于 06-10 00:02 ?5225次下載
    EWB<b class='flag-5'>電路仿真</b>軟件下載

    基于Altium Designer的電路仿真

    介紹了基于Altium Designer的電路仿真過程,說明了仿真電路原理圖的編輯、仿真參數(shù)的設(shè)置、仿真方式及
    發(fā)表于 04-24 08:28 ?262次下載

    基于FPGA的SoC驗(yàn)證平臺實(shí)現(xiàn)電路仿真偵錯(cuò)

    臺灣工業(yè)技術(shù)研究院提出一種能夠顯著提升客制化FPGA原型板驗(yàn)證效率的創(chuàng)新方法,自動(dòng)化現(xiàn)有的 電路仿真 (in-circuit emulation)偵錯(cuò)功能,并提供更高的FPGA能見度。這個(gè)以F
    發(fā)表于 09-09 11:35 ?1042次閱讀
    基于<b class='flag-5'>FPGA</b>的SoC驗(yàn)證平臺實(shí)現(xiàn)<b class='flag-5'>電路仿真</b>偵錯(cuò)

    實(shí)現(xiàn)FPGA實(shí)戰(zhàn)復(fù)位電路的設(shè)計(jì)和仿真

    最近看 advanced fpga 以及 fpga 設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位
    發(fā)表于 12-22 12:54 ?13次下載
    實(shí)現(xiàn)<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>的設(shè)計(jì)和<b class='flag-5'>仿真</b>

    電路仿真工具通常分為幾大類

    按照仿真對象劃分,電路仿真工具通常分為三大類:晶體管級的模擬電路仿真工具、門級和RTL級的數(shù)字電路仿真工具、模數(shù)混合電路仿真工具。
    的頭像 發(fā)表于 08-24 10:09 ?3803次閱讀

    模擬電子:電路仿真的作用

    電路仿真是指使用計(jì)算機(jī)模擬電路的過程,它可以幫助電路設(shè)計(jì)者更好地理解電路的行為,并可以檢測出電路中的錯(cuò)誤。
    發(fā)表于 02-17 14:04 ?5248次閱讀

    如何挑選合適的電路仿真軟件工具

    微電子及集成電路技術(shù)發(fā)展日新月異,離不開EDA電子電路仿真軟件的支持。每天不知有多少電路設(shè)計(jì)及驗(yàn)證者,使用著各種電路仿真軟件工具。俗話說,工欲善其事必先利其器,如何挑選合適的
    的頭像 發(fā)表于 06-25 16:37 ?3710次閱讀

    主流電路仿真軟件有哪些

    主流電路仿真軟件是電子工程師和電路設(shè)計(jì)師在實(shí)際設(shè)計(jì)中經(jīng)常使用的工具。它們通過數(shù)值模擬和仿真來驗(yàn)證電路性能,并幫助工程師優(yōu)化設(shè)計(jì)。以下是一些主要的電路
    的頭像 發(fā)表于 04-21 10:23 ?2206次閱讀

    什么是電路仿真 數(shù)字電路仿真軟件哪個(gè)好用

    電路仿真是指借助計(jì)算機(jī)軟件模擬電路的工作原理和性能的過程。通過電路仿真,可以在不實(shí)際進(jìn)行硬件搭建的情況下,預(yù)測和分析電路的功能、穩(wěn)定性、可靠性以及各種參數(shù)。
    的頭像 發(fā)表于 04-21 10:26 ?2907次閱讀

    電路仿真軟件如何使用 電路仿真軟件操作流程

    電路仿真軟件是一種用于設(shè)計(jì)、測試和驗(yàn)證電路的工具,它可以模擬實(shí)際電路的行為和性能。本文將詳細(xì)介紹電路仿真軟件的使用流程,包括軟件的安裝、電路
    的頭像 發(fā)表于 05-04 10:39 ?1879次閱讀

    電路仿真是什么意思 電路仿真怎么連線

    電路仿真是一種通過電腦模擬電路行為和性能的技術(shù)。 在電路設(shè)計(jì)過程中,仿真是一個(gè)重要的環(huán)節(jié),它可以幫助工程師在實(shí)際制作之前預(yù)測電路的性能和行為
    的頭像 發(fā)表于 04-21 10:47 ?2008次閱讀

    電路仿真軟件如何使用 電路仿真軟件有哪些好用

    電路仿真軟件是一種通過計(jì)算機(jī)模擬電路行為的工具,可以幫助工程師和電子愛好者設(shè)計(jì)、分析和優(yōu)化電路。它可以幫助用戶驗(yàn)證電路設(shè)計(jì)、預(yù)測電路的性能,
    的頭像 發(fā)表于 05-04 10:51 ?1643次閱讀