作者deathcustom (litron-intl)
看板Electronics
標題Re: 移位暫存器工作原理
時間Fri May 25 12:54:55 2012
※ 引述《ssadd502227 (我想考試)》之銘言:
: 請問一下為什麼移位暫存器在時脈正源的時候可以移動一個位置?
: 照電路圖來看他把時脈全接在一起這樣不是一啟動全部同時啟動?
: 這樣每個正反器都是存同樣的資料? 誰可以說明一下嗎,課本沒說。感恩
會這樣問基本上就是不知道電路本身有延遲效應
假設一個DFF
tp = 0.5ns
也就是說rising 後 0.5ns資料才會傳到output port
你兩個posedge trigger DFF串成shift register
clk 在 t = 1n的時候開始rising
那要到t = 1.5n的時候
本來在第一級輸入端的資料才會傳出去到第一級輸出端等第二級接收
可是這時候第二級已經沒有在接收資料了喔
要等到下一個clock rising edge
這就是VHDL/Verilog裡面用語法
always @ (posedge clk)
begin
a <= D_in;
b <= a;
c <= b;
d <= c;
end
這是sequential logic(syncronous)
而你想像中那個沒有delay的電路會變成
combinational logic(asyncronous)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.100.199
→ kuanglun:這不就是你要的?一個clock的edge只能shift一個stage? 05/25 23:06
→ kuanglun:如果全部的Shift Reg都一起通,那你怎麼控制?另外dff會 05/25 23:08
→ kuanglun:有兩個stage防止全部的DFF都一起通. 05/25 23:10