一種電路設(shè)計方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)字電路設(shè)計技術(shù)領(lǐng)域,特別是涉及一種電路設(shè)計方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著集成電路技術(shù)的不斷發(fā)展,工藝水平的不斷提高,集成電路設(shè)計面臨著功耗、 面積、速度、驗證等方面的挑戰(zhàn),其中功耗和面積問題最為突出。
[0003] 電路設(shè)計中,綜合優(yōu)化中的邏輯級通常被認為是聯(lián)接RTL級(Register Transfer Level,寄存器傳輸級)和物理級最為重要的環(huán)節(jié),RTL代碼將設(shè)計電路用硬件描述語言描 述出來,設(shè)計電路通常由多個寄存器以及組合邏輯構(gòu)成,而在將RTL代碼轉(zhuǎn)換成門級網(wǎng)表 的過程中,需要將寄存器所對應(yīng)的RTL代碼轉(zhuǎn)換為基于邏輯的電路模塊,現(xiàn)有技術(shù)中通常 是將寄存器對應(yīng)的RTL代碼轉(zhuǎn)換為基于TB邏輯(布爾邏輯)的電路模塊,然而實際上有些 電路模塊用TB邏輯實現(xiàn)簡單,有的使用RM邏輯實現(xiàn)簡單,但是很多電路,在基于TB/RM 混合邏輯實現(xiàn)時,會有更好的優(yōu)化結(jié)果??梢?,現(xiàn)有技術(shù)中采用單一邏輯會導(dǎo)致最終得到 的電路中器件很多,從而導(dǎo)致電路面積以及功耗都很大。
[0004] 因此,如何提供一種設(shè)計出來的電路的面積以及功耗都很小的電路設(shè)計方法及系 統(tǒng)是本領(lǐng)域技術(shù)人員目前需要解決的問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是提供一種電路設(shè)計方法,在將寄存器RTL代碼轉(zhuǎn)換為電路模塊時 充分考慮了各個寄存器的特性,選擇與寄存器最適合的邏輯,從而實現(xiàn)了轉(zhuǎn)換成的電路模 塊的性能最優(yōu)且電路最簡,進而使得最終得到的設(shè)計電路的面積以及功耗都很??;本發(fā)明 的另一目的是提供一種電路設(shè)計系統(tǒng)。
[0006] 為解決上述技術(shù)問題,本發(fā)明提供了一種電路設(shè)計方法,包括:
[0007] 依據(jù)設(shè)計電路的需求生成RTL代碼,其中,所述RTL代碼描述的所述設(shè)計電路包括 N個寄存器和M個組合邏輯;
[0008] 分別依據(jù)各個所述寄存器的特性從TB邏輯、RM邏輯以及TB/RM混合邏輯中選擇 相應(yīng)的邏輯,依據(jù)所述寄存器對應(yīng)的所述RTL代碼以及所述相應(yīng)的邏輯構(gòu)建相應(yīng)的電路模 塊;對得到的N個所述電路模塊以及M個所述組合邏輯進行綜合優(yōu)化,得到門級網(wǎng)表,進而 依據(jù)所述門級網(wǎng)表得到所述設(shè)計電路。
[0009] 優(yōu)選地,該方法還包括:
[0010] 在時序上對所述設(shè)計電路進行驗證,以判斷所述設(shè)計電路是否存在建立時間和保 持時間的違反。
[0011] 優(yōu)選地,該方法還包括:
[0012] 在功能上對所述設(shè)計電路進行驗證,以判斷所述設(shè)計電路在綜合優(yōu)化過程后是否 仍滿足所述需求。
[0013] 優(yōu)選地,所述依據(jù)設(shè)計電路的需求生成RTL代碼的過程具體為:
[0014] 提出設(shè)計電路的需求,其中,所述需求包括功能需求和性能需求;
[0015] 依據(jù)所述設(shè)計電路的需求設(shè)計解決方案,并生成RTL代碼;
[0016] 對所述RTL代碼進行驗證,并依據(jù)驗證結(jié)果來決定是否對所述RTL代碼進行修正, 直至所述RTL代碼滿足所述需求。
[0017] 為解決上述技術(shù)問題,本發(fā)明還提供了一種電路設(shè)計系統(tǒng),包括:
[0018] 電路設(shè)計模塊,用于依據(jù)設(shè)計電路的需求生成RTL代碼,其中,所述RTL代碼描述 的所述設(shè)計電路包括N個寄存器和M個組合邏輯;
[0019] 綜合優(yōu)化模塊,用于分別依據(jù)各個所述寄存器的特性從TB邏輯、RM邏輯以及TB/ RM混合邏輯中選擇相應(yīng)的邏輯,依據(jù)所述寄存器對應(yīng)的所述RTL代碼以及所述相應(yīng)的邏輯 構(gòu)建相應(yīng)的電路模塊;對得到的N個所述電路模塊以及M個所述組合邏輯進行綜合優(yōu)化,得 到門級網(wǎng)表,進而依據(jù)所述門級網(wǎng)表得到所述設(shè)計電路。
[0020] 優(yōu)選地,該系統(tǒng)還包括:
[0021] 時序驗證模塊,用于在功能上對所述設(shè)計電路進行驗證,以確保所述設(shè)計電路在 綜合優(yōu)化的過程后滿足所述需求。
[0022] 優(yōu)選地,該系統(tǒng)還包括:
[0023] 功能驗證模塊,用于在功能上對所述設(shè)計電路進行驗證,以確保所述設(shè)計電路在 綜合優(yōu)化的過程后滿足所述需求。
[0024] 優(yōu)選地,所述電路設(shè)計模塊具體包括:
[0025] 功能需求模塊,用于提出設(shè)計電路的需求,其中,所述需求包括功能需求和性能需 求;
[0026] 代碼生成模塊,用于依據(jù)所述設(shè)計電路的需求設(shè)計解決方案,并生成RTL代碼;
[0027] 代碼驗證模塊,用于對所述RTL代碼進行驗證,并依據(jù)驗證結(jié)果來決定是否對所 述RTL代碼進行修正,直至所述RTL代碼滿足所述需求。
[0028] 本發(fā)明提供的一種電路設(shè)計方法及系統(tǒng),在對依據(jù)設(shè)計電路的需求生成的RTL代 碼中進行綜合優(yōu)化時,首先依據(jù)各個寄存器的特性從TB邏輯、RM邏輯以及TB/RM混合邏輯 中選擇相對應(yīng)的邏輯,然后再依據(jù)寄存器對應(yīng)的RTL代碼以及相應(yīng)的邏輯構(gòu)建相應(yīng)的電路 模塊;可見,本申請中,在將寄存器RTL代碼轉(zhuǎn)換為電路模塊時充分考慮了各個寄存器的特 性,選擇與寄存器最適合的邏輯,從而實現(xiàn)了轉(zhuǎn)換成的電路模塊的性能最優(yōu)且電路最簡,進 而使得最終得到的設(shè)計電路的面積以及功耗都很小。
【附圖說明】
[0029] 為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對現(xiàn)有技術(shù)和實施例中所 需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施 例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲 得其他的附圖。
[0030] 圖1為本發(fā)明提供的一種電路設(shè)計方法的過程的流程圖;
[0031] 圖2為本發(fā)明提供的另一種電路設(shè)計方法的過程的流程圖;
[0032] 圖3為本發(fā)明提供的一種電路設(shè)計系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0033] 本發(fā)明的核心是提供一種電路設(shè)計方法,在將寄存器RTL代碼轉(zhuǎn)換為電路模塊時 充分考慮了各個寄存器的特性,選擇與寄存器最適合的邏輯,從而實現(xiàn)了轉(zhuǎn)換成的電路模 塊的性能最優(yōu)且電路最簡,進而使得最終得到的設(shè)計電路的面積以及功耗都很小;本發(fā)明 的另一核心是提供一種電路設(shè)計系統(tǒng)。
[0034] 為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0035] 實施例一
[0036] 請參照圖1,圖1為本發(fā)明提供的一種電路設(shè)計方法的過程的流程圖,該方法包 括:
[0037] 步驟SlOl :依據(jù)設(shè)計電路的需求生成RTL代碼,其中,RTL代碼描述的設(shè)計電路包 括N個寄存器和M個組合邏輯;
[0038] 步驟sl02 :分別依據(jù)各個寄存器的特性從TB邏輯、RM邏輯以及TB/RM混合邏輯中 選擇相應(yīng)的邏輯,依據(jù)寄存器對應(yīng)的RTL代碼以及相應(yīng)的邏輯構(gòu)建相應(yīng)的電路模塊;對得 到的N個電路模塊以及M個組合邏輯進行綜合優(yōu)化,得到門級網(wǎng)表,進而依據(jù)門級網(wǎng)表得到 設(shè)計電路。
[0039] 本發(fā)明提供的一種電路設(shè)計方法,在對依據(jù)設(shè)計電路的需求生成的RTL代碼中進 行綜合優(yōu)化時,首先依據(jù)各個寄存器的特性從TB邏輯、RM邏輯以及TB/RM混合邏輯中選擇 相對應(yīng)的邏輯,然后再依據(jù)寄存器對應(yīng)的RTL代碼以及相應(yīng)的邏輯構(gòu)建相應(yīng)的電路模塊; 可見,本申請中,在將寄存器RTL代碼轉(zhuǎn)換為電路模塊時充分考慮了各個寄存器的特性,選 擇與寄存器最適合的邏輯,從而實現(xiàn)了轉(zhuǎn)換成的電路模塊的性能最優(yōu)且電路最簡,進而使 得最終得到的設(shè)計電路的面積以及功耗都很小。
[0040] 實施例二
[0041] 請參照圖2,圖2為本發(fā)明提供的另一種電路設(shè)計方法的過程的流程圖,該方法包 括:
[0042] 步驟s201 :提出設(shè)計電路的需求,其中,需求包括功能需求和性能需求;
[0043] 可以理解的是,首先提出設(shè)計電路的需求,包括設(shè)計電路需要達到的具體功能和 性能方面的需求。
[0044] 步驟s202 :依據(jù)設(shè)計電路的需求設(shè)計解決方案,并生成RTL代碼;其中,RTL代碼 描述的設(shè)計電路包括N個寄存器和M個組合邏輯;
[0045] 這一步也叫行為設(shè)計,根據(jù)設(shè)計電路的需求設(shè)計解決方案,再將設(shè)計電路的需求 也即設(shè)計電路的功能和性能使用硬件描述語言描述出來,生成RTL代碼,這里的RTL代碼描 述的設(shè)計電路包括N個寄存器和M個組合邏輯,其中,N和M均為不小于1的正整數(shù)。
[0046] 步驟s203 :對RTL代碼進行驗證,并依據(jù)驗證結(jié)果來決定是否對RTL代碼進行修 正,直至RTL代碼滿足需求;
[0047] 這一步也叫行為仿真,即對RTL代碼的正確性進行檢驗,檢測RTL代碼所描述的設(shè) 計電路是否滿足需求。行為設(shè)計和行為仿真是反復(fù)迭代的過程,直至最終RTL代碼所描述 的設(shè)計電路符合需