資源描述:
《哈爾濱工業(yè)大學(xué)威海校區(qū)_eda課程設(shè)計_乘法器_090240328_尤偉》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、2012.04.20哈爾濱工業(yè)大學(xué)(威海)信息與電氣工程學(xué)院EDA課程設(shè)計實驗報告無符號四位整數(shù)乘法器設(shè)計與制作EDA課程設(shè)計報告日期:2012-04-20學(xué)校及院系:哈爾濱工業(yè)大學(xué)信息與電氣工程學(xué)院設(shè)計者:尤偉指導(dǎo)老師:王永玲職業(yè):在校學(xué)生通訊地址:山東省威海市環(huán)翠區(qū)文化西路2號哈工大(威海)九公寓418座郵編:264209電子郵箱:15098123652@139.com電話:150981236522012.04.20哈爾濱工業(yè)大學(xué)(威海)信息與電氣工程學(xué)院EDA課程設(shè)計實驗報告一、設(shè)計的性質(zhì)、目的和任務(wù)創(chuàng)新
2、精神和實踐能力二者之中,實踐能力是基礎(chǔ)和根本。這是由于創(chuàng)新基于實踐、源于實踐,實踐出真知,實踐檢驗真理。實踐活動是創(chuàng)新的源泉,也是人才成長的必由之路。1.通過課程設(shè)計的鍛煉,要求學(xué)生掌握電路的一般設(shè)計方法,具備初步的獨立設(shè)計能力,提高綜合運用所學(xué)的理論知識獨立分析和解決問題的能力,培養(yǎng)學(xué)生的創(chuàng)新精神。2.熟練使用MAX+PLUS2軟件平臺,掌握基本設(shè)計流程并完成所選題目的設(shè)計任務(wù)。掌握現(xiàn)代大規(guī)模集成數(shù)字邏輯電路的應(yīng)用設(shè)計方法,進一步掌握利用計算機進行電子設(shè)計自動化(EDA)的基本方法。二、課程設(shè)計所需要的儀器1
3、、計算機一臺2、實驗箱EPM7128SSLC84-15芯片三、課程設(shè)計要求設(shè)計一個兩個5位數(shù)相乘的乘法器。用發(fā)光二極管顯示輸入數(shù)值,用7段顯示器顯示十進制結(jié)果。乘數(shù)和被乘數(shù)分兩次輸入。在輸入乘數(shù)和被乘數(shù)時,要求顯示十進制輸入數(shù)據(jù)。輸入顯示和計算結(jié)果顯示,采用分時顯示方式進行,可參見計算器的顯示功能。四、設(shè)計原理本乘法器設(shè)計全部采用VHDL語言描述??傮w看來,可以分為輸入級、中間處理級和輸出顯示級三大部分。輸入級實現(xiàn)數(shù)據(jù)的輸入與寄存,中間處理級主要實現(xiàn)乘法運算和分時輸入輸出的選擇,輸出顯示級實現(xiàn)對被乘數(shù)、乘數(shù)和結(jié)
4、果的顯示。程序流程如下:(5)報告要求a.設(shè)計的性質(zhì)、目的和任務(wù);b.設(shè)計課題要求;c.設(shè)計的內(nèi)容、電路原理和詳細的設(shè)計過程;d.調(diào)試與仿真結(jié)果;e.調(diào)試中遇到的問題及解決的方法;f.詳談自己的體會、感想、建議。設(shè)計要求:設(shè)計一個具有連續(xù)乘功能的4位數(shù)相乘的乘法器。用7段顯示器分時顯示被乘數(shù)、乘數(shù)和計算的十進制結(jié)果。乘數(shù)和被乘數(shù)分兩次輸入。在輸入乘數(shù)和被乘數(shù)時,要求分時顯示十進制輸入數(shù)據(jù)??蓞⒁娪嬎闫鞯妮斎牒惋@示功能。乘法器應(yīng)具有連續(xù)乘功能,例如,2×3=6,再把6作為被乘數(shù),還可以繼續(xù)乘以其他數(shù),如再乘4(相
5、當(dāng)于2×3×4=6×4=24),該乘法器要求具備此功能。#設(shè)計提示(僅供參考):乘法運算通常采用移位相加方法實現(xiàn),見簡略示意圖。輸入控制乘數(shù)寄存被乘寄存相乘控制累加器結(jié)果寄存時鐘顯示結(jié)果存儲選擇器五、各模塊程序設(shè)計、電路原理和仿真2012.04.20哈爾濱工業(yè)大學(xué)(威海)信息與電氣工程學(xué)院EDA課程設(shè)計實驗報告一、1、輸入級原理:由要求可知操作數(shù)分為兩次輸入,故設(shè)計SHU[4]至SHU[0]依次由K3,K4,K5,K6,K7,定義,其中K3為符號位,其余四位為數(shù)據(jù)位。當(dāng)K1有效時,將SHU中的數(shù)據(jù)作為被乘數(shù)輸入
6、到寄存器中;當(dāng)K2有效時,將SHU中數(shù)據(jù)作為乘數(shù)輸入到寄存器中,CLK為脈沖控制端。當(dāng)K1K2為“00”時輸入被乘數(shù),被乘數(shù)被存入寄存器。當(dāng)K1K2為“01”時輸入乘數(shù),乘數(shù)被存入寄存器。并實現(xiàn)數(shù)據(jù)符號分離,對數(shù)據(jù)和符號單獨處理。設(shè)計代碼如下所示:生成模塊:仿真波形從仿真結(jié)果看出當(dāng)chenghao和denghao為“00”時,被乘數(shù)10101實現(xiàn)數(shù)符分離分別賦給A[3..0]和f1,當(dāng)chenghao和denghao為“10”時,被乘數(shù)10101實現(xiàn)數(shù)符分離分別賦給B[3..0]和f2.結(jié)果正確。二、中間處理級
7、三、2.1數(shù)值相乘模塊原理:利用移位相加原理,將上一模塊輸入的兩個數(shù)值進行相乘操作。移位相加原理:從乘數(shù)的最低位開始,若為1,則將被乘數(shù)右端與乘數(shù)右端對齊寫在下面;若為0,則將與被乘數(shù)同樣位數(shù)的0寫在下面。然后進行乘數(shù)的次低位,若為1,則被乘數(shù)左移一位后與上一次的結(jié)果相加;若為0,則左移一位后以全0相加。以此類推,每次若乘數(shù)相應(yīng)位為1,則被乘數(shù)左移一位與前次和相加;若乘數(shù)相應(yīng)位為0,則左移一位以全0與前次和相加。設(shè)計代碼如下:--MAX+plusIIVHDLTemplate--Clearableloadable
8、enablablecounterLIBRARYieee;USEieee.std_logic_1164.all;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;2012.04.20哈爾濱工業(yè)大學(xué)(威海)信息與電氣工程學(xué)院EDA課程設(shè)計實驗報告ENTITYmultiply_4_mul1ISPORT(beicheng:IN