| ws's profileBad TimingPhotosBlogLists | Help |
|
April 22 iclab 6從lab3之後都是 FSM,太晚進入狀況真的有點糟。 這次的題目是在某個 8 bit port讀入 ASCII表示的羅馬數字,同時讀取 op code。在輸入資料結束時開始計時20個 cycle之內要把運算結果用 ASCII表示的羅馬數字表示出來。像是 VII 的平方是 IVIX,MXXIV的平方根是XXXII。輸入的值和輸出的值都限制在1~3999之內。每個cycle限時5ns。看面積比輸贏。 只用單純的想法做下去的話,在input的地方設計一個FSM,一邊讀一邊算出輸入的真實值是多少;之後再經過運算後,把結果分成4位數。再用個FSM把這4位數連續的輸出。 這次遇到幾個問題: design compiler在 datapath長過 cycle time constraint太多的時候會自爆 fatal error 再來就是這種有很多表的電路,如果不是用程式產生verilog,很容易因為手殘打錯字,像是把VIII打成VII之類的。 最後就是iclab名物:潛規則。有些東西助教不講,同學不提,完全沒有人問,但大家卻似乎都做的出來,看來我也該努力了解他們用的語言才是。畢竟如果之後去EDA公司的話總還是要聽的懂的。 最後再來一張該死的 fatal error,紀念一下這個拖住我20小時的非錯誤訊息。 |
|
|