1. 程式人生 > >數位電路基礎知識(二)

數位電路基礎知識(二)

數位電路2

201894

11:01

1.verilog實現D觸發器邏輯

//基本D觸發器

module D_EF(Q,D,CLK)

input D,CLK;

output Q;

reg Q;                           //在always語句中被賦值的訊號要宣告為reg型別 暫存器定義

always @ (posedge CLK)

       begin Q <= D; end

endmodule

//帶非同步清0、非同步置1的D觸發器

module D_EF(q,qn,d,clk,set,reset)

input d,clk,set,reset;

output q,qn;

reg q,qn;//暫存器定義

always @ (posedge clk or negedge set or negedge reset)

       begin

              if(!reset) begin q<=0;qn<=1;end//非同步清0,低有效

              else if(!set) begin q<=1;qn<=1;end //非同步置1,低有效

              else begin q<=d;qn<=~d;end

       end 

endmodule

//帶同步清0、同步置1的D觸發器

module D_EF(q,qn,d,clk,set,reset)

input d,clk,set,reset;

output q,qn;

reg q,qn;

always @ (posedge clk)

       begin

              if(reset) begin q<=0;qn<=1;end//同步清0,高有效

              else if(set) begin q<=1;qn<=1;end //同步置1,高有效

              else begin q<=d;qn<=~d;end

       end 

endmodule

2.一個二選一mux 和一個inv實現異或

1^ 0 = 1

0 ^ 0 = 0

0 ^ 1 = 1

1 ^ 1 = 0

==》

b=0時輸出 y=a;

b = 1時 y=~a

3.邏輯代數基本運算

4.FPGA求三角函式,反三角函式

複雜運算——cordic演算法

Cordic的方法核心就是偽旋轉,將旋轉角θ細化成若干個大小固定的角度θi,規定θi滿足tanθi = 2^-i,通過一系列的迭代旋轉,每次旋轉θi,i為迭代次數,規定∑θi的範圍即旋轉角度θ的範圍為[-99.7, 99.7]。如果θ的大於這個範圍則可通過三角運算操作轉化到該範圍的角度。

xn = 1/∏cosθi (x0cosθ – y0sinθ)

yn = 1/∏cosθi (y0cosθ – x0sinθ)

伸縮因子,KN = 1 / ∏cosθi,已知迭代次數,我們可以預先計算KN的值。

我們預先計算出KN的值,然後令x0 = ∏cosθi,y0 = 0,則上述公式可化簡為

xn = cosθ

yn = sinθ

即可實現正弦、餘弦操作了。

5.FPGA實現FIFO控制器

6.全加器

7.SRAM,SSRAM,DRAM,SDRAM

SRAM 利用暫存器來儲存資訊,所以一旦掉電,資料就會全部丟失,只要供電,它的資料就會一直存在,不需要動態重新整理,所以叫靜態隨機儲存器。

DRAM 利用MOS管的柵電容上的電荷來儲存資訊,一個DRAM的儲存單元儲存的是0還是1取決於電容是否有電荷,有電荷代表1,無電荷代表0。但時間一長,由於柵極漏電,代表1的電容會放電,代表0的電容會吸收電荷,這樣會造成資料丟失,因此需要一個額外設電路進行記憶體重新整理操作。重新整理操作定期對電容進行檢查,若電量大於滿電量的1/2,則認為其代表1,並把電容充滿電;若電量小於 1/2,則認為其代表0,並把電容放電,藉此來保持資料的連續性。這也是DRAM中的D(Dynamic動態)的意思。由於DRAM只使用一個MOS管來存資訊,所以整合度可以很高,容量能夠做的很大。SDRAM比它多了一個與CPU時鐘同步。

SRAM(Static Dynamic Random Access Memory),它是一種具有靜止存取功能的記憶體,不需要重新整理電路即能儲存它內部儲存的資料。不像DRAM記憶體那樣需要重新整理電路,每隔一段時間,固定要對DRAM重新整理充電一次,否則內部的資料即會消失,因此SRAM具有較高的效能,但是SRAM也有它的缺點,即它的整合度較低,相同容量的DRAM記憶體可以設計為較小的體積,但是SRAM卻需要很大的體積,所以在主機板上SRAM儲存器要佔用一部分面積。

非同步SRAM的訪問獨立於時鐘,資料輸入和輸出都由地址的變化控制。

SSRAM(Synchronous SRAM)即同步靜態隨機存取儲存器。同步是指Memory工作需要同步時鐘,內部的命令的傳送與資料的傳輸都以它為基準;隨機是指資料不是線性依次儲存,而是由指定地址進行資料讀寫。

SDRAM(Synchronous Dynamic Random Access Memory)同步動態隨機存取儲存器,同步是指Memory工作需要同步時鐘,內部的命令的傳送與資料的傳輸都以它為基準;動態是指儲存陣列需要不斷的重新整理來保證資料不丟失;隨機是指資料不是線性依次儲存,而是由指定地址進行資料讀寫。

DDR SDRAM(Double-Date-Rate SDRAM)也稱作DDR RAM,這種改進型的RAM和SDRAM是基本一樣的, 不同之處在於它可以在一個時鐘讀寫兩次資料,這樣就使得資料傳輸速度加倍了。這是目前電腦中用得最多的記憶體,在很多高階的顯示卡上,也配備了高速DDR RAM來提高頻寬,這可以大幅度提高3D加速卡的畫素渲染能力。

8.D觸發器二分頻電路

9.有源濾波器和無源濾波器

濾波器有無源和有源之分,無源濾波器是利用電感、電容和電阻的組合設計構成的濾波電路,可濾除某一次或多次諧波。有源濾波器是利用可關斷電力電子器件,產生與負荷電流中諧波分量大小相等、相位相反電流來抵消諧波的濾波裝置。

無源可以看成額外吸收諧波的負載,被動的吸收諧波;有源可以看成電源,主動的生成反向諧波。

對於這個的理解可以從英文來理解。 (Passive power filter,PPF),passive 可以理解為被動的消極的 專業翻譯就是無源的。(Active power filter,APF) active 可以理解為主動的,積極的,專業翻譯就是有源的。

10.傅立葉變換/拉普拉斯變換/Z變換

三種變換均是是將原先的時域訊號變換到頻域進行表示,在頻域分析訊號的特徵。當訊號變換到頻域後,就會出現很多時域中無法直接觀察到的現象。比如F域中的頻譜響應;L域中的系統穩定性判斷;Z域濾波器設計。

傅立葉變換粗略分來包括連續時間傅立葉變換(CTFT)、離散時間傅立葉變換(DTFT)。

CTFT是將連續時間訊號變換到頻域,將頻率的含義擴充之後,就得到拉普拉斯變換。

DTFT是將離散時間訊號變換到頻域,將頻率的含義擴充之後,就得到Z變換。

簡而言之:

傅立葉變換隻能對能量有限的訊號進行變換(也就是可以收斂的訊號),無法對能量無限的訊號進行變換(無法收斂的訊號)進行變換!

因此,拉氏變換由此誕生,他就是在傅立葉變換公式中乘以一個雙肩因子,使得能量無限的訊號也能進行時頻變換!

Z變換就是離散化的拉氏變換!