新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > VHDL設計中電路簡化問題的探討

        VHDL設計中電路簡化問題的探討

        作者:朱明程 林欣榮 時間:2008-06-25 來源:電子技術應用 收藏

          ctemp<=″00000001″;??

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

          elsif(count3=″001″)then

          ctemp<=″00000010″;??

          elsif(count3=″010″)then

          ctemp<=″00000100″;??

          elsif(count3=″011″)then

          ctemp<=″00001000″;??

          elsif(count3=″100″)then

          ctemp<=″00010000″;??

          elsif(count3=″101″)then

          ctemp<=″00100000″;??

          elsif(count3=″110″)then

          ctemp<=″01000000″;??

          elsif(count3=″111″)then

          ctemp<=″10000000″;??

          else

          ctemp<=″00000000″;??

          endif;??

          endif;??

          endprocess;??

          2.第二種設計方法的源程序

          process(clk,ctemp,count)

          begin

          if(clk='1'andclk'event)then

          count<=count+1;??

          if(count=″00000000000000000″)then

          ctemp<=″00000001″;??

          elsif(count=″001000000000000000″)then

          ctemp<=″00000010″;??

          elsif(count=″010000000000000000″)then

          ctemp<=″00000100″;??

          elsif(count=″011000000000000000″)then

          ctemp<=″00001000″;??

          elsif(count=″100000000000000000″)then

          ctemp<=″00010000″;??

          elsif(count=″101000000000000000″)then

          ctemp<=″00100000″;??

          elsif(count=″110000000000000000″)then

          ctemp<=″01000000″;??

          elsif(count=″111000000000000000″)then

          ctemp<=″10000000″;??

          endif;??

          endif;??

          endpeocess;??

          對于第一種的程序可以綜合出的如圖1所示。

          該用一個15位的加法器和寄存器組成一個15位的記數器。在記數器記完一周回到“000000000000000”時,通過后面的15輸入的與非門和一位的觸發器就可以實現同步的進行215次分頻,同步輸出32Hz的時鐘CCLK。CCLK再驅動一8位的移位寄存器,便可實現每32秒輸出一信號。

          而用第二種的程序設計綜合出的如圖2所示。

          圖2所示的電路用一個18位的加法器和寄存器組成一個18位的記數器。后接了8個18輸入的邏輯門和8輸入的或門。輸入的1kHz時鐘經過記數器被分頻,其中有八個相隔32Hz的記數狀態,邏輯門就負責把這八狀態譯碼成所需的八組信號。譯碼后的數據通過選擇器輸出到8位的觸發器,以實現同步輸出。還有個鎖存器,是用來保持輸出信號不變,在八個狀態中的從一個狀態變到下一個之前,保持前一個的數值。選擇器當邏輯門輸出新的數據時讓其輸出數據通過,在新數據到來之前輸出鎖存器的數據。

          以上兩種方法都能實現相同的邏輯功能,但圖2所示的方法由于運用了較少位數的記數器,所用的邏輯門也較簡單,而且還少用了多路選擇器和鎖存器資源,所以綜合出來的電路較簡單,以XILINX SpartanS05-3芯片為例。第一種方法占用芯片CLB的12%,其中FMAPS為9%,最高工作速度為82Hz。而第二種方法占用了15%的CLB,FMAPS占用15%,最高工作速度只有69.9MHz。在這一個簡單的設計之中就能省20%的電路,提高12.1MHz的工作速度,由此可見科學的劃分設計對降低電路復雜程度的重要意義。

        DIY機械鍵盤相關社區:機械鍵盤DIY




        關鍵詞: VHDL 電路 集成電路

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 师宗县| 托克逊县| 昌都县| 疏勒县| 广平县| 东安县| 灵璧县| 大余县| 永靖县| 依兰县| 吕梁市| 万州区| 黄石市| 上蔡县| 通城县| 华蓥市| 任丘市| 潼关县| 平凉市| 常宁市| 木兰县| 元氏县| 扶绥县| 仙游县| 湟源县| 汉源县| 阳城县| 晋宁县| 虎林市| 广东省| 墨江| 利辛县| 会东县| 巴里| 岐山县| 深泽县| 蒙城县| 绩溪县| 漯河市| 桐柏县| 霞浦县|