




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE2有符號5位整數(shù)除法器設(shè)計(jì)與制作1.課程設(shè)計(jì)的性質(zhì)、目的和任務(wù)創(chuàng)新精神和實(shí)踐能力二者之中,實(shí)踐能力是基礎(chǔ)和根本。這是由于創(chuàng)新基于實(shí)踐、源于實(shí)踐,實(shí)踐出真知,實(shí)踐檢驗(yàn)真理。實(shí)踐活動是創(chuàng)新的源泉,也是人才成長的必由之路。通過課程設(shè)計(jì)的鍛煉,要求學(xué)生掌握電路的一般設(shè)計(jì)方法,具備初步的獨(dú)立設(shè)計(jì)能力,提高綜合運(yùn)用所學(xué)的理論知識獨(dú)立分析和解決問題的能力,培養(yǎng)學(xué)生的創(chuàng)新精神。2.課程設(shè)計(jì)基本要求掌握現(xiàn)代大規(guī)模集成數(shù)字邏輯電路的應(yīng)用設(shè)計(jì)方法,進(jìn)一步掌握電子儀器的正確使用方法,以及掌握利用計(jì)算機(jī)進(jìn)行電子設(shè)計(jì)自動化(EDA)的基本方法。3.設(shè)計(jì)課題要求設(shè)計(jì)一個兩個五位數(shù)相除的整數(shù)除法器。用發(fā)光二極管顯示輸入數(shù)值,用7段顯示器顯示結(jié)果十進(jìn)制結(jié)果。除數(shù)和被除數(shù)分兩次輸入,在輸入除數(shù)和被除數(shù)時,要求顯示十進(jìn)制輸入數(shù)據(jù)。采用分時顯示方式進(jìn)行,可參見計(jì)算器的顯示功能。4.設(shè)計(jì)內(nèi)容:有符號5位整數(shù)除法器設(shè)計(jì)與制作根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法。頂層設(shè)計(jì)采用原理圖設(shè)計(jì)方式,系統(tǒng)的整體組裝設(shè)計(jì)原理圖如下圖所示,它由除法器輸入模塊、除法實(shí)現(xiàn)模塊和顯示譯碼模塊三部分組成。4.1除法器輸入模塊本除法器的被除數(shù)和除數(shù)(有符號5位整數(shù))分兩次輸入,設(shè)置兩個標(biāo)志位A和B,A和B的初值均為0。當(dāng)A=1,B=0時,輸入為被除數(shù);當(dāng)A=1,B=1時,輸入為除數(shù)。將被除數(shù)和除數(shù)分別送至顯示電路,以十進(jìn)制形式顯示,同時送入除法實(shí)現(xiàn)電路進(jìn)行除法運(yùn)算。輸入模塊的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSHURU1ISPORT(LOADA,LOADB,CLK:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(4DOWNTO0);A,B:OUTSTD_LOGIC_VECTOR(4DOWNTO0));ENDSHURU1;ARCHITECTUREBEHAVEOFSHURU1ISBEGINPROCESS(LOADA,LOADB,DIN,CLK)BEGINIF(CLK'EVENTANDCLK='1')THENIF(LOADA='1'ANDLOADB='0')THENA<=DIN;ENDIF;IF(LOADA='1'ANDLOADB='1')THENB<=DIN;ENDIF;ENDIF;ENDPROCESS;ENDBEHAVE;生成模塊如圖(1-1)所示:如圖(1-1)本模塊的仿真波形如圖(1-2)所示:如圖(1-2)4.2除法實(shí)現(xiàn)模塊本模塊作用是將輸入的被除數(shù)和除數(shù)進(jìn)行除法運(yùn)算,輸出商和余數(shù)。計(jì)算前在A和B端口輸入被除數(shù)和除數(shù),然后在Load線上送高電平,把數(shù)據(jù)存到除法計(jì)算電路內(nèi)部,然后經(jīng)過若干個時鐘周期,計(jì)算出商和余數(shù),并在SH和YU端輸出。其實(shí)現(xiàn)方法是,將除法器分為兩個狀態(tài):等待狀態(tài)與運(yùn)算狀態(tài)。開始時除法器處于等待狀態(tài),在該狀態(tài),在每一時鐘上升沿,采樣Load信號線,若是低電平,則仍處于等待狀態(tài),如果采樣到高電平,除法器讀取A,B數(shù)據(jù)線上的輸入數(shù)據(jù),保存到內(nèi)部寄存器a_r,b_r,置sh_r為0,yu_r為a_r,判斷除數(shù)是否為零,若不為零則進(jìn)入運(yùn)算狀態(tài)。在運(yùn)算狀態(tài),設(shè)置符號位寄存器fu_r,將a_r和b_r的最高位(即符號位)異或后賦給fu_r。在每一時鐘上升沿,除法器先比較yu_r,b_r低四位的大小,若yu_r大于等于b_r,則sh_r增加一,yu_r=yu_r–b_r(均為低四位),仍處于運(yùn)算狀態(tài)。若yu_r小于b_r的低四位,則說明運(yùn)算已經(jīng)完成,再將sh_r、yu_r填上符號位作為結(jié)果輸出到SH,YU數(shù)據(jù)線,再次回到等待狀態(tài),等待下一次的除法運(yùn)算。除法實(shí)現(xiàn)模塊的源程序所下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCHUFAISPORT(CLK,LOAD:INSTD_LOGIC;A:INSTD_LOGIC_VECTOR(4DOWNTO0);B:INSTD_LOGIC_VECTOR(4DOWNTO0);SH,YU:OUTSTD_LOGIC_VECTOR(4DOWNTO0));ENDCHUFA;ARCHITECTUREDIVOFCHUFAISBEGINPROCESS(CLK)VARIABLEA_R,B_R,SH_R,YU_R,FU:STD_LOGIC_VECTOR(4DOWNTO0);VARIABLESTATE:STD_LOGIC;BEGINIFCLK'EVENTANDCLK='1'THENCASESTATEISWHEN'0'=>IFLOAD='1'THENA_R:=A;B_R:=B;YU_R:="00000";YU_R(3DOWNTO0):=A_R(3DOWNTO0);SH_R:="00000";STATE:='1';ELSESTATE:='0';ENDIF;WHEN'1'=>IFB_R="00000"THENSH_R:="00000";YU_R:="00000";STATE:='0';ELSIFYU_R(3DOWNTO0)>=B_R(3DOWNTO0)THENYU_R(3DOWNTO0):=YU_R(3DOWNTO0)-B_R(3DOWNTO0);SH_R(3DOWNTO0):=SH_R(3DOWNTO0)+1;STATE:='1';ELSEFU:="00000";FU(4):=A_R(4)XORB_R(4);SH<=SH_RORFU;YU<=YU_RORFU;STATE:='0';ENDIF;WHENOTHERS=>ENDCASE;ENDIF;ENDPROCESS;ENDDIV;生成模塊如圖(2-1)所示:圖(2-1)本模塊的仿真波形如圖(2-2)所示:圖(2-2)4.3除法器顯示譯碼模塊模塊1本模塊的作用是通過標(biāo)志位A,B的不同狀態(tài)來區(qū)分被除數(shù),除數(shù),商和余數(shù),將他們送至輸出端進(jìn)行顯示。當(dāng)A=1,B=0時,將被除數(shù)送至輸出端;A=1,B=1時,將除數(shù)送至輸出端;除法運(yùn)算結(jié)束后,A=0,B=1時,將商送至輸出端;A=0,B=0時,將余數(shù)送至輸出端;從而實(shí)現(xiàn)分時顯示。顯示模塊1的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYXIANSHI1ISPORT(A:INSTD_LOGIC;B:INSTD_LOGIC;LOAD:INSTD_LOGIC;BEICHU:INSTD_LOGIC_VECTOR(4DOWNTO0);CHU:INSTD_LOGIC_VECTOR(4DOWNTO0);SH:INSTD_LOGIC_VECTOR(4DOWNTO0);YU:INSTD_LOGIC_VECTOR(4DOWNTO0);ZJ:OUTSTD_LOGIC_VECTOR(4DOWNTO0));ENDXIANSHI1;ARCHITECTUREMYOFXIANSHI1ISBEGINPROCESS(BEICHU,CHU,SH,YU,A,B)BEGINIF(A='1'andB='0')THENZJ<=BEICHU;ELSIF(A='1'andB='1')THENZJ<=CHU;ELSIF(A='0'andB='1')THENZJ<=SH;ELSEIF(LOAD='1')THENZJ<=YU;ELSEZJ<="00000";ENDIF;ENDIF;ENDPROCESS;ENDMY;生成模塊如圖(3-1)所示:圖(3-1)模塊2:本模塊的作用是采用3個8段顯示器分時顯示有符號的十進(jìn)制結(jié)果。模塊2的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYXIANSHI2ISPORT(ZJ:INSTD_LOGIC_VECTOR(4DOWNTO0);FU:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SHI:OUTSTD_LOGIC_VECTOR(7DOWNTO0);GE:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDXIANSHI2;ARCHITECTUREMYOFXIANSHI2ISBEGINPROCESS(ZJ)BEGINIF(ZJ(4)='0')THENFU<="11111111";ELSEFU<="10111111";ENDIF;IF(ZJ(3DOWNTO0)>"1001")THENSHI<="11111001";ELSESHI<="11111111";ENDIF;CASEZJ(3DOWNTO0)ISWHEN"0000"=>GE<="11000000";WHEN"0001"=>GE<="11111001";WHEN"0010"=>GE<="10100100";WHEN"0011"=>GE<="10110000";WHEN"0100"=>GE<="10011001";WHEN"0101"=>GE<="10010010";WHEN"0110"=>GE<="10000010";WHEN"0111"=>GE<="11011000";WHEN"1000"=>GE<="10000000";WHEN"1001"=>GE<="10010000";WHEN"1010"=>GE<="11000000";WHEN"1011"=>GE<="11111001";WHEN"1100"=>GE<="10100100";WHEN"1101"=>GE<="10110000";WHEN"1110"=>GE<="10011001";WHEN"1111"=>GE<="10010010";WHENOTHERS=>GE<="11111111";ENDCASE;ENDPROCESS;ENDMY;生成模塊如圖(3-2)所示:圖(3-2)本模塊的仿真波形如圖(3-3)所示:圖(3-3)5.調(diào)試與仿真結(jié)果總電路如下圖:仿真結(jié)果如下:6.調(diào)試中遇到的問題及解決方法第一次調(diào)試時數(shù)碼管顯示了一些亂碼,懷疑是顯示模塊出了問題,便想到改程序。經(jīng)檢查發(fā)現(xiàn),由于存在兩個process,之間產(chǎn)生沖突,于是我就把顯示電路拆成了兩個模塊,利用了一個中間量進(jìn)行數(shù)值傳遞,這樣就避免了兩個process在一個結(jié)構(gòu)體中因敏感信號而產(chǎn)生沖突。第二次調(diào)試時,發(fā)現(xiàn)除法器總是會顯示上一次除法的結(jié)果,我就想到一定是除法寄存器在下一次運(yùn)算前沒有清零,于是檢查并改動了除法運(yùn)算模塊,是結(jié)果正確。以上是調(diào)試過程中存在比較大的問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西安郵電大學(xué)《美術(shù)鑒賞與批評》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江理工大學(xué)《木材工業(yè)自動化》2023-2024學(xué)年第二學(xué)期期末試卷
- 南昌大學(xué)共青學(xué)院《免疫學(xué)與病原生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 撫順師范高等??茖W(xué)?!镀放菩蜗髮m?xiàng)設(shè)計(jì)一》2023-2024學(xué)年第二學(xué)期期末試卷
- 證券從業(yè)資格證券投資顧問勝任能力考試證券投資顧問業(yè)務(wù)真題1
- 山東勞動職業(yè)技術(shù)學(xué)院《智能車輛環(huán)境感知技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025遼寧省安全員B證(項(xiàng)目經(jīng)理)考試題庫
- 湖南冶金職業(yè)技術(shù)學(xué)院《企業(yè)生產(chǎn)與技術(shù)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年陜西省建筑安全員-B證(項(xiàng)目經(jīng)理)考試題庫
- 湖南電氣職業(yè)技術(shù)學(xué)院《面向數(shù)據(jù)科學(xué)的語言》2023-2024學(xué)年第二學(xué)期期末試卷
- 血透室停電停水應(yīng)急預(yù)案
- 人教版小學(xué)數(shù)學(xué)三年級下冊第一單元《位置與方向(一)》單元測試
- 《零售藥店實(shí)務(wù)》期末考試復(fù)習(xí)題及答案
- 校園安全案例解析
- 《病理科(中心)建設(shè)與配置標(biāo)準(zhǔn)》
- 《校園廉潔教育》主題班會課件全文
- 北京版(一起)英語六年級下冊單詞默寫表
- 2024-2025學(xué)年七年級英語上冊單詞默寫冊
- 《直列式兩缸發(fā)動機(jī)曲軸的機(jī)械加工工藝及夾具設(shè)計(jì)》開題報(bào)告2600字
- 2024年度影視制作服務(wù)承包合同3篇
- 《地圖的發(fā)展》課件
評論
0/150
提交評論