新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 十年FPGA開發經驗工程師教你的絕密設計技巧

        十年FPGA開發經驗工程師教你的絕密設計技巧

        作者: 時間:2018-08-07 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/201808/385638.htm

        2)用數學思維來簡化設計邏輯

        學習不僅邏輯思維很重要,好的數學思維也能讓你的設計化繁為簡,所以啊,那些看見高數就頭疼的童鞋需要重視一下這門課哦。舉個簡單的例子,比如有兩個32bit的數據X[31:0]與Y[31:0]相乘。當然,無論Altera還是Xilinx都有現成的乘法器IP核可以調用,這也是最簡單的方法,但是兩個32bit的乘法器將耗費大量的資源。那么有沒有節省資源,又不太復雜的方式來實現呢?我們可以稍做修改:

        將X[31:0]拆成兩部分X1[15:0]和X2[15:0],令X1[15:0]=X[31:16],X2[15:0]=X[15:0],則X1 左移16位后與X2相加可以得到X;同樣將Y[31:0]拆成兩部分Y1[15:0]和Y2[15:0],令 Y1[15:0]=Y[31:16],Y2[15:0]=Y[15:0],則Y1左移16位后與Y2相加可以得到Y;則X與Y的相乘可以轉化為X1和X2 分別與Y1和Y2相乘,這樣一個32bit*32bit的乘法運算轉換成了四個16bit*16bit的乘法運算和三個32bit的加法運算。轉換后的占用資源將會減少很多,有興趣的童鞋,不妨綜合一下看看,看看兩者差多少。

        3)時鐘與觸發器的關系

        “時鐘是時序電路的控制者” 這句話太經典了,可以說是設計的圣言。的設計主要是以時序電路為主,因為組合邏輯電路再怎么復雜也變不出太多花樣,理解起來也不沒太多困難。但是時序電路就不同了,它的所有動作都是在時鐘一拍一拍的節奏下轉變觸發,可以說時鐘就是整個電路的控制者,控制不好,電路功能就會混亂。

        打個比方,時鐘就相當于人體的心臟,它每一次的跳動就是觸發一個 CLK,向身體的各個器官供血,維持著機體的正常運作,每一個器官體統正常工作少不了組織細胞的構成,那么觸發器就可以比作基本單元組織細胞。時序邏輯電路的時鐘是控制時序邏輯電路狀態轉換的“發動機”,沒有它時序邏輯電路就不能正常工作,因為時序邏輯電路主要是利用觸發器存儲電路的狀態,而觸發器狀態變換需要時鐘的上升或下降沿!由此可見時鐘在時序電路中的核心作用!

        最后簡單說一下體會吧,歸結起來就多實踐、多思考、多問。實踐出真知,看 100遍別人的方案不如自己去實踐一下。實踐的動力一方面來自興趣,一方面來自壓力,我個人覺得后者更重要。有需求會容易形成壓力,也就是說最好能在實際的項目開發中鍛煉,而不是為了學習而學習。在實踐的過程中要多思考,多想想問題出現的原因,問題解決后要多問幾個為什么,這也是經驗積累的過程,如果有寫項目日志的習慣更好,把問題及原因、解決的辦法都寫進去。最后還要多問,遇到問題思索后還得不到解決就要問了,畢竟個人的力量是有限的,問同學同事、問搜索引擎、問網友都可以,一篇文章、朋友們的點撥都可能幫助自己快速解決問題。


        上一頁 1 2 3 下一頁

        關鍵詞: CPLD 電子工程師 FPGA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌鲁木齐县| 潞城市| 广州市| 乐山市| 琼海市| 临江市| 阿拉尔市| 沁阳市| 巫山县| 万州区| 陇南市| 迁西县| 文水县| 汾阳市| 瑞安市| 敦化市| 清流县| 定日县| 渭源县| 墨竹工卡县| 富民县| 临湘市| 昆山市| 泾源县| 兴义市| 本溪市| 华亭县| 镇原县| 莱阳市| 西宁市| 同江市| 邓州市| 新竹市| 台安县| 桑日县| 嘉黎县| 长白| 米泉市| 车险| 阿鲁科尔沁旗| 开阳县|