[轉錄][請益] 數位IC 面試題目 這樣解?

看板Electronics作者 (QQ)時間13年前 (2011/03/09 01:30), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/2 (看更多)
※ [本文轉錄自 Tech_Job 看板 #1DTbN1xY ] 作者: flymango (等待一個人陪伴) 看板: Tech_Job 標題: [請益] 數位IC 面試題目 這樣解? 時間: Wed Mar 9 00:13:50 2011 題目: module A module B 分別有不同的clock domain 100MHz、33MHz module A產生一個period 長的pulse 給B 試問 module B要怎麼收到 進而產生一個period長的pulse? 會有setup time violation嗎? 我的解: A有個output "Q1" 在產生pulse的同時 0->1 B有個input D 接收 "Q1" 產生output 信號"Q2" module B 裡含下列程式: input D; output Q2; reg cnt; always@(posedge clk_33M) begin if(D & (cnt <= 1'b1)) begin Q2 <= ~Q2; cnt <= cnt + 1'b1; end else Q2 <= Q2; end 假設初始化皆為0 程式沒有初始化 是因為主管說寫關鍵的就好 對於setup time的問題 當時沒有想辦法解決 只是跟主管說會有setup time問題 回家邊看客運的電視邊想 有沒有解決的辦法呢? 我要請教的是 因為module A的output Q1會一直為"1" 所以 如果我在module B裡 第二次知道(Q1==1)時 再產生Q2信號 是不是就不會有setup time violation的情況發生呢?? 不知道這樣的想法有沒有錯? 還請各位先進不吝指教一下 感謝看完 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.177.149

03/09 00:18,
async的design都設false path吧 沒在check setup time的
03/09 00:18

03/09 00:21,
我的解-->中間掛個sync cell :P
03/09 00:21

03/09 00:26,
萬一你clk_30m敲不到clk_100m產生的pulse? 推2F
03/09 00:26

03/09 00:27,
更正 clk_30m
03/09 00:27

03/09 00:27,
不是只掛false就可以了,是確定violation不會傳遞下去後,
03/09 00:27

03/09 00:28,
再用false path槓掉它。中間要確定有足夠的sync. register
03/09 00:28
※ 編輯: flymango 來自: 61.224.177.149 (03/09 00:29)

03/09 00:29,
100M control write pointer that encode by gray code
03/09 00:29

03/09 00:29,
以避免meta-stable狀態傳遞下去。
03/09 00:29

03/09 00:29,
pass to 33M by sync logic
03/09 00:29

03/09 00:30,
33M control read pointer to compare with sync write
03/09 00:30

03/09 00:30,
pointer to generate pop signal
03/09 00:30

03/09 00:31,
抱歉 怕有人看不懂 所以改了一下 sync_cell是33M的嗎?
03/09 00:31

03/09 00:58,
這種東西叫sync_pulse 做法還蠻標準的 應該各家公司都有
03/09 00:58

03/09 01:01,
先在clka domain寫一個遇到pulse就反相的電路
03/09 01:01

03/09 01:02,
這樣pulse信號就變成level信號 clkb用兩級sync才敲的到
03/09 01:02

03/09 01:03,
clkb敲到後 第2級與第3級取XOR 就可以gen出clkb的pulse
03/09 01:03

03/09 01:04,
穿頻電路
03/09 01:04

03/09 01:06,
快到慢 慢到快都可以這樣做
03/09 01:06

03/09 01:09,
還有async電路之間不需考慮timing 因為一定violation
03/09 01:09

03/09 01:09,
所以才要synchronizer來解決metastable
03/09 01:09
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.63.14

03/09 01:55, , 1F
onworking 是正解
03/09 01:55, 1F

08/13 19:09, , 2F
這種東西叫sync_p https://muxiv.com
08/13 19:09, 2F

09/17 23:03, , 3F
再用false pat https://daxiv.com
09/17 23:03, 3F
文章代碼(AID): #1DTcV6Qe (Electronics)
文章代碼(AID): #1DTcV6Qe (Electronics)