有時一個看起來簡單,實際上是在考驗ASIC工程師的問題。

1.簡單的講就是做信號的2選1么,那么我們就先做一個簡答的">

日韩精品中文字幕第1页,欧美日韩中文一区二区,日韩成人午夜精品,中文字幕一区日韩电影

大學校園網

大學生活網 > 大學生學習 > 電氣工程

如何切斷2個頻率無關的時鐘?

問題:2個頻率無關的時鐘,在sel的選擇下做切換。

有時一個看起來簡單,實際上是在考驗ASIC工程師的問題。

1.簡單的講就是做信號的2選1么,那么我們就先做一個簡答的2選1吧。

這是一個邏輯圖,實際的2選1是由3個門電路過程的,比如2個與一個或:

這個電路顯然不能用于時鐘的選擇,因為這將導致輸出時鐘存在毛刺,后級電路是不能直接用的。

2.我們很自然的會想到,要是能在時鐘低時切換到另一個時鐘低電平,就能保證時鐘的品質。這樣在時鐘切換時就必然要經歷4個階段:1)選擇信號改變、2)在clk1為低時停掉clk1的選擇、3)在clk2為低時打開clk2的選擇端、3)正常工作,完成切換。

這樣一想,似乎要寫一個狀態機了。但是這里面有一個問題先要解決:clk的低電平用什么來檢測?當然,如果你有更高頻率的時鐘,確實是可以寫一個狀態機的,但是恐怕多數時候是沒有那個高頻時鐘的。那我們就只能用時鐘的下降沿來檢測時鐘的低電平的到來了。于是我們就基本有了方向。

這個電路是比較經典的,其思考過程也很屈折,關鍵就在于寄存器前的那個與門,它的位置非常關鍵。

是不是這就可以了呢?當然不完全。我們考慮了輸出時鐘的完整性,但是我們忘了,圖上的這2個寄存器本身就是跨時鐘域的寄存器,其本身也存在壓穩態的問題。而且這個壓穩態會隨著輸出的時鐘擴展到很遠。芯片恐怕是承受不了的。

3.所以,我們還需要一點特殊處理(圖就不畫,有點煩,但是這一步很重要),就是在寄存器輸出端到另一個寄存器前的與門之間用相應的時鐘鎖存2次(這是最通常的做法,地球人恐怕都知道)。

做個小節吧:

我們都很關注邏輯本身,做過1年以上的工程師都知道第1步是不嚴謹的。但是恐怕要工作5年以上的工程師才能理解到第2步也是不嚴謹的。倒不是因為它很復雜,僅僅是因為經歷的第1步后,忘了對第2步再做認真的分析。所以,做ASIC工程師就是要不斷反復考慮自己的設計,不到大批量用上1、2年,你恐怕都要時刻的反省。這很重要,也很累。
主站蜘蛛池模板: 沛县| 宁化县| 永清县| 毕节市| 德化县| 古浪县| 云林县| 响水县| 鄢陵县| 墨玉县| 芦溪县| 垫江县| 政和县| 石嘴山市| 玛纳斯县| 镇江市| 志丹县| 密云县| 锡林郭勒盟| 长兴县| 正阳县| 宁远县| 卫辉市| 永仁县| 泉州市| 合作市| 文水县| 宜君县| 大冶市| 株洲市| 邓州市| 肥西县| 芮城县| 仪征市| 台中市| 行唐县| 勐海县| 犍为县| 绍兴县| 寿光市| 司法|