減少資源占用的方法 避免產生全比較器

2021-09-13 17:41:02 字數 963 閱讀 1866

今天在看這本書《vhdl數位電路設計教程》中第76頁有寫到如何避免使用全比較器,覺得可以記錄下來,以後在寫**的時候可以借鑑。

先來看一下這個例子:

實現的是乙個進行迴圈累加的模10計數器,**如下:

----------------------------

library ieee

use ieee.std_logic_1164.all

----------------------------

entity counter is

port ( clk : in std_logic;

digit: out integer range 0 to 9 );

end counter;

----------------------------

architecture counter of counter is

bedin

counter : process (clk)

variable temp : integer range 0 to 10;

begin

if(clk'event and clk = '1') then

temp := temp + 1;

if (temp = 10) then temp := 0;

end if;

end if;

digit <= temp;

end process count;

end counter;

在上面**中,為了在temp計數到10時對計數器復位,每次對temp累加時都會將它與10進行比較,這是計數器設計常用的一種方法。由於10是乙個常數,編譯器會產生相對來說比較簡單的常數比較器電路。然而如果不使用常數而是乙個可程式設計的引數,那麼在電路實現時就會產生乙個全比較器,這樣會需要更多的邏

減少VMware中虛擬系統占用的記憶體資源

最近,在學linux驅動,安裝乙個ubuntu10.4系統在vmware中,分配了700mb左右的記憶體。可是有乙個問題,因為很多操作都是在字元命令介面下完成的,基本上很少用到圖形介面,於是,就用windowsxp下telnet通過vmware提供的虛擬網路直接連線虛擬系統,這樣一來,感覺linux...

殭屍程序的產生原因和避免方法

殭屍程序的產生 當乙個程序建立了乙個子程序時,他們的執行時非同步的。即父程序無法預知子程序會在什麼時候結束,那麼如果父程序很繁忙來不及wait 子程序時,那麼當子程序結束時,會不會丟失子程序的結束時的狀態資訊呢?處於這種考慮unix提供了一種機制可以保證只要父程序想知道子程序結束時的資訊,它就可以得...

野指標產生的原因和避免方法

struct student stu,pstu intmain void 這是很多人都容易犯的錯誤 定義了結構體變數stu,但結構體內部的char name在定義結構體時只是為其分配了4位元組的記憶體,沒有指向乙個合法的位址,這時其指標指向的區域只是一些亂碼,有事還沒有訪問許可權。這就是我們通常所說...