數位電路基礎知識(二)
數位電路2
2018年9月4日
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變換就是離散化的拉氏變換!