跨時鐘域的暫存器訪問

2021-06-28 20:33:49 字數 551 閱讀 3082

在verilog中,如果對於乙個暫存器可能同時有兩個時鐘clk對其進行操作,為了防止讀寫衝突,需要做如下簡單處理

clk_f( fast時鐘)和clk_s(slow時鐘)

clk_s對暫存器time_cnt進行寫操作,

clk_f對暫存器time_cnt進行讀操作,

所以當clk_f邊沿讀取time_cnt的值得時候,time_cnt可能正是clk_s對暫存器寫的時候,從而造成clk_f讀錯誤

如下處理

reg time_cnt1,time_cnt2;

always @(posedge clk_f)

begin

time_cnt1<=time_cnt;

time_cnt2<=time_cnt;

endalways @(posedge clk_f)

if(time_cnt1==time_cnt2)

time_cnt_f<=time_cnt1;

else

time_cnt_f

<=time_cnt_f;

time_cnt_f為最終讀取的時間值

跨時鐘域的暫存器訪問

在verilog中,如果對於乙個暫存器可能同時有兩個時鐘clk對其進行操作,為了防止讀寫衝突,需要做如下簡單處理 clk f fast時鐘 和clk s slow時鐘 clk s對暫存器time cnt進行寫操作,clk f對暫存器time cnt進行讀操作,所以當clk f邊沿讀取time cnt...

mysql 訪問暫存器 暫存器 記憶體訪問

一 ds和 address cpu要讀寫乙個記憶體單元的時候,必須先給出這個記憶體單元的位址,在8086pc中記憶體位址有段位址和偏移位址組成。ds 資料暫存器 中通常存放要訪問資料的段位址。比如要讀取1000h單元的內容,可以用下面這段 mov bx,1000h mov ds,bx mov al,...

暫存器(記憶體訪問)

1 記憶體中字的儲存 高位址儲存高位,低位址儲存地位。任何兩個位址連續的記憶體單元,n號單元和n 1號單元,可以將它們看成兩個記憶體單元,也可以看成乙個位址為n的字單元中的高位位元組單元和地位位元組單元。2 ds和 adress cpu要讀取乙個記憶體單元的時候,必須先給出這個記憶體單元的位址。在8...