摘要: 數位工程師是離不開DC-compiler,他需要DC-compiler幫他合成netlist,所以DC-compiler對數位工程師而言是一個很重要的工具,但是數位工程師有用正確的態度來使用DC-compiler嗎?DC-compiler公司因為不曉得你的想法,不曉得你的晶片設計是什麼,所以他們絕大... 阅读全文
posted @ 2014-05-19 10:19 Orchid123 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 程式中邏輯內涵的用意? (用If-else和case的舉例)程式應該要有邏輯的內涵,並非是表面所寫的面貌的。有邏輯內涵的程式可以讓程式便於看懂,對於後來接手的工程師而言,他可以藉由這些邏輯內涵和以前的工程師神交,瞭解前人的邏輯維思。今天以if-else和case為例,來說明邏輯內涵是什麼?我們都知道... 阅读全文
posted @ 2014-05-12 08:59 Orchid123 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 在上述的IC流程中,還有其他工程師也是參與其中;而你是數位工程師,你對其他工程師的責任是什麼你有清楚嗎?案例分享:在這個IC流程中,數位工程師會需要類比工程師的幫忙部份,絕大部份是在synthesis LIB的參考和simulation時的模型建立。曾經遇過類比工程師需要數位工程師幫忙驗證他們建立的... 阅读全文
posted @ 2014-05-05 11:23 Orchid123 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 就Back-end而言:就Back-end的工作內容,主要的負責單位是CAD部們,數位工程師只是輔助的角色。如果是輔助的角色,那麼應該要注意哪些細節呢?1.建立primetime環境來驗證CAD做完APR後的netlist是否是符合自己的需求。2.請CAD給一套和他工作環境相同的primetime環... 阅读全文
posted @ 2014-04-28 09:31 Orchid123 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 今天想跟大家提一下IC流程。因為我未來的分享也是和它有關。先溝通認知的部份,才能繼續下去。我認為數位工程師的風格有很多,就像軟體工程師的風格也有很多種類。數位工程師的風格的分類,我是依據IC流程來做分類的。每位數位工程師專精的地方有所不同,所以解決問題的思維也就不同。了解清楚IC流程的權則劃分後,我... 阅读全文
posted @ 2014-04-21 10:30 Orchid123 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 上一回,我們談到生產者與消費者的關係和資料前後一致性的特性。在一個系統中,因為存取的動作複雜,產生許許多多不同的死結。因為有人試著把存取的動作規劃出優先順序,減少存取時會發生的死結。在把優先順序說出來以前,我們要先把存取的動作歸納出基本的含意。然後才能把順序制定出來。名詞解釋:PMW: 這是一個po... 阅读全文
posted @ 2014-04-14 09:58 Orchid123 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 今天我想討論一個觀念,producer(生產者) and consumer(消費者)ordering model。我覺得這是一個做為一個系統整合的數位工程師應該要具備的基本觀念。但是,這個觀念是來自於 PCI 規格書裏。相信很多人都沒有看過 PCI 的規格,我怕我在解釋這個觀念時,有人會因此而看不懂。但如果省略,又怕很多工程師在做系統整合時,常犯一些讀寫設計的問題。實在很兩難 !掙扎許多,還是決定試著解釋看看,希望有人可以看懂,如果有不懂的,可以留言給我,或是寫信來討論。做為一個數位設計工程師,必須有一個觀念,那就是在數位訊號處理過程中,訊號不會無中生有。必須要有人給你訊號,然後你才能做事。而 阅读全文
posted @ 2014-04-07 10:03 Orchid123 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 如果不做同步處理?任何的訊號,如果不做同步處理的話,都會有meta stable的產生的疑慮。而long pulse做同步處理是比one-pulse訊號做同步處理來得容易多了。很多人都認為long pulse不需要做同步處理,因為我下一個時間(next period time),就可以得到正確的long pulse訊號。就對下一個時間點而言,這樣子的說法這是正確的,但是對目前的時間點而言,你已經沒有辦法保證你所設計的系統是穩定的,除非,你設計一個會mask meta stable訊號的設計,但是,這有可能嗎?同步處理是每一個 T (period time)都在進行的,你要怎麼知道每一個小段時間 阅读全文
posted @ 2014-04-03 16:14 Orchid123 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 在離散數學課程中,曾學到如何把一個發散的數學式子轉換到收斂的數學式子;其做法是把原來式子做整理(積分或是微分的處理),重新寫出新的數學式子,這樣子才可能把發散的條件轉換到收斂的條件,然後才能得到我們想要的結果。同理,一個控制流程的很好的module(模組),它在介面訊號上,也會是一個收斂的。如何確保你的module是一個收斂的介面module。第一步:選擇一個clock為主要的clock domain,所有的控制訊號都是在這個主要的clock domain下被控制、操作。第二步:把所有不同步的控制訊號處理同步到主clock domain。這種做法就是把原來發散條件轉換到收斂條件。以下是示意圖。 阅读全文
posted @ 2014-03-31 10:22 Orchid123 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 在做controller時,常需要去思考一個問題,那就是權杖是由誰主導?一個好的controller就是把權杖的問題處理好,讓各個部份都能各司其職,也不會相突衝。這樣子說明,或許有許多人不明瞭,以下我舉一個例子。在PCIE的規格裏,有一個skip order set的機制,是被用來做在傳輸中補償機制。但是傳送skip order是由誰做,卻沒有明確的說明,但是這部份的描述是放在LTSSM章節。而PCIE大致上是被分為Tx, Rx, LTSSM三大部份。既然被寫在LTSSM章節,那應該由LTSSM做即可;但是LTSSM並沒有負責全部的流程機制,有部份是由Tx負責。一旦權杖沒有做好,就會造成溝通問 阅读全文
posted @ 2014-03-24 10:07 Orchid123 阅读(229) 评论(0) 推荐(0) 编辑