• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Quartus II與Modelsim的加減復用電路實驗教學設計

      2023-09-14 14:20:42陳艷劉俊文古國龍黃文基楊颯
      現(xiàn)代信息科技 2023年13期
      關鍵詞:數(shù)字電路實驗設計案例教學

      陳艷 劉俊文 古國龍 黃文基 楊颯

      摘? 要:加減計算電路是數(shù)字計算系統(tǒng)的核心計算單元,也是相關專業(yè)本科生需要重點掌握的專業(yè)知識。文章通過加減計算為教學案例設計一種支持原碼輸入、輸出的加減計算電路系統(tǒng),用于支持帶符號n bits位寬數(shù)據(jù)的加減運算。為了優(yōu)化計算電路的硬件開銷,該計算電路內核采用補碼技術,將加法操作與減法操作融合在一個計算電路模塊中,實現(xiàn)系統(tǒng)的加減復用計算。實驗教學采用“理論指導+案例仿真操作”方式,使學生成為理論指導實踐的受益人。通過該教學案例,學生不僅能夠掌握數(shù)字電路系統(tǒng)設計的一般方法,還能通過理論結合實踐的模式啟迪創(chuàng)新設計思維,提升復雜數(shù)字電路系統(tǒng)設計能力,為其進一步成長為學習型人才打下良好的專業(yè)基礎和實踐基礎。

      關鍵詞:教學研究和改革;案例教學;實驗設計;數(shù)字電路;加減計算電路

      中圖分類號:TP331;G642? 文獻標識碼:A? 文章編號:2096-4706(2023)13-0181-08

      Add–subtract Multiplexing Circuit Experimental Teaching Design Based on Quartus II and Modelsim

      CHEN Yan, LIU Junwen, GU Guolong, HUANG Wenji, YANG Sa

      (School of Physics and Information Engineering, Guangdong University of Education, Guangzhou? 510303, China)

      Abstract: The add-subtract computing circuit is the core computing unit of digital computing systems, and it is also a key professional knowledge that relevant undergraduate students need to master. This paper designs an add-subtract calculation circuit system that supports input and output of the original code for teaching cases through addition and subtraction calculation, which is used to support addition and subtraction operations with symbol n bits bit width data. In order to optimize the hardware overhead of the computing circuit, the core of the computing circuit adopts complement technology, which integrates addition and subtraction operations into a computing circuit module to achieve the addition and subtraction multiplexing calculation of the system. The experimental teaching adopts the method of “theoretical guidance+case simulation operation”, making students the beneficiaries of theoretical guidance in practice. Through this teaching case, students can not only master the general method of digital circuit system design, but also inspire innovative design thinking through the mode of combining theory with practice, improve the design ability of complex digital circuit systems, and lay a good professional and practical foundation for their further growth as learning talents.

      Keywords: teaching research and reform; case teaching; experimental design; digital circuit; add–subtract calculation circuit

      0? 引? 言

      為了適應新一輪科技變革和產(chǎn)業(yè)革命,教育部等部門發(fā)布了加快建設發(fā)展新工科的多個文件[1,2],將工科專業(yè)的研究與實踐需求推向更重要的教學地位。在教學工作中,如何發(fā)揮學生主觀能動性,提升其工程實踐與創(chuàng)新能力等越來越受到教育工作者的廣泛關注[3-5]。傳統(tǒng)教學以老師的“講”為主,學生的工程實踐能力和創(chuàng)新能力無法得到有效的培養(yǎng)[6-8],顯然,傳統(tǒng)教學中的這種模式并不利于新工科人才培養(yǎng)目標的實現(xiàn)。換句話說,這種模式不利于學生將理論知識與工程實踐相結合,從而無法有效地培養(yǎng)學生的工程實踐能力。與傳統(tǒng)授課模式不同的是,“理論指導+案例仿真操作”模式實現(xiàn)了“講解”與“實踐”的有效結合,有助于提升學生的理論指導實踐能力[9-11]。本文以加減計算復用電路系統(tǒng)設計為例,通過“理論指導+案例仿真操作”模式激發(fā)學生數(shù)字電路方面的實踐能力和創(chuàng)新能力。

      加減計算電路是處理器單元的核心部分[12-14],用于支持處理器不同類型的計算任務,加減計算相關知識也是本科階段需要重點掌握的課程內容。授課活動通常按分離模式進行加減電路的設計。在該模式下,加法與減法操作通常被設計為不同的電路模塊,從而導致數(shù)字電路系統(tǒng)硬件成本增加,降低電路系統(tǒng)在工程應用中的實用性。此外,該模式下,加減計算電路僅支持二進制補碼數(shù)據(jù),學生需要預先對原碼數(shù)據(jù)進行補碼轉換,這就增加了學生實踐過程中的理解難度??梢姡@種非直觀、抽象的分離式工程實踐難以激發(fā)學生的工程應用興趣,無法有效提升學生的工程實踐能力與創(chuàng)新能力。

      本案例以原碼輸入、原碼輸出的形式進行數(shù)字電路系統(tǒng)的設計,并將加法操作和減法操作融合在一個計算電路模塊中,實現(xiàn)了系統(tǒng)的加減復用計算,優(yōu)化了計算電路的硬件開銷,提升了學生的工程實踐能力。本文以帶符號4 bits位寬數(shù)據(jù)的加減運算電路為例進行設計。為驗證加減計算系統(tǒng)的計算功能,使用QuartusⅡ[15]與Modelsim[16]軟件進行聯(lián)合仿真。采用“理論指導+案例仿真操作”方式,首先給出帶符號二進制原碼運算的加減計算原理;其次基于計算原理進行復用電路設計;再次給出Quartus Ⅱ中計算系統(tǒng)的電路原理圖;最后給出該原理圖在Modelsim中的波形仿真結果。仿真結果表明,本案例具有正確的輸入輸出波形,案例設計得合理有效。通過該教學案例,學生能夠以理論結合實踐的模式不斷啟迪創(chuàng)新思維,提升復雜數(shù)字電路系統(tǒng)的設計能力,為其進一步成長為學習型人才打下良好的專業(yè)基礎和實踐基礎。

      1? 帶符號運算的加減計算原理

      本節(jié)介紹帶符號數(shù)的加法、減法計算特征。首先介紹帶符號數(shù)的表示方法,其次介紹帶符號數(shù)原碼、補碼的轉換關系,最后介紹帶符號數(shù)的加法、減法計算原理。

      1.1? 帶符號二進制數(shù)的表示方法

      帶符號數(shù)運算是科學計算的主要形式。數(shù)字電路系統(tǒng)通過帶符號二進制數(shù)處理科學計算任務。如圖1(a)所示,帶符號二進制數(shù)由符號位和數(shù)值位兩部分組成。最高位為符號位,符號位的值為0表示該二進制數(shù)為正數(shù),如圖1(b)所示;符號位的值為1表示該二進制數(shù)為負數(shù),如圖1(c)所示。本文4位加減計算系統(tǒng)用于支持輸入數(shù)據(jù)位寬為4 bits的計算,最高位表示符號位,低3位表示數(shù)值位。例如,二進制數(shù)據(jù)“0111”表示數(shù)據(jù)7,“1111”表示數(shù)據(jù)?7。本案例的設計思路適用于任何位寬數(shù)據(jù)的計算。

      對于n bits帶符號二進制數(shù)據(jù),所能表示數(shù)的范圍為[-2n-1,2n-1-1]。本案例中4位帶符號二進制數(shù)據(jù)能夠表示的范圍為[-8,7],其十進制數(shù)、原碼、反碼和補碼之間的關系如表1所示。

      1.2? 帶符號二進制數(shù)原碼與補碼轉換關系

      在數(shù)字電路系統(tǒng)實驗中,為了便于計算,帶符號二進制的加減計算通常利用補碼直接計算。實驗者需要在計算之前將二進制原碼數(shù)據(jù)轉換為補碼,并在計算之后將補碼計算結果轉換為原碼。原碼、反碼與補碼之間的轉換如圖2所示。當二進制數(shù)為正數(shù)時,其原碼也為該數(shù)的反碼和補碼,如圖2(a)所示。例如,十進制數(shù)1的二進制原碼、反碼和補碼均為0001。當二進制數(shù)為負數(shù)時,其原碼(補碼)除符號位之外,其他位按位取反(反碼),然后加1得到該數(shù)的補碼(原碼),如圖2(b)所示。例如,十進制數(shù)-7的二進制原碼為1111,對該原碼進行按位取反(符號位除外)得到1000(反碼),再加1得到1001,即-7的補碼為1001。同樣,已知-7的補碼為1001,對該補碼進行按位取反(符號位除外)得到1110,再加1得到1111,即-7的原碼為1111。表1給出了4位帶符號二進制數(shù)的原碼、反碼與補碼間的對應關系。

      通常,學生能夠直觀地表示出二進制原碼數(shù)據(jù),但是對于二進制補碼數(shù)據(jù)并不敏感,因此,本文將基于輸入輸出為原碼的形式進行計算電路的設計。該實驗設計旨在提高學生數(shù)字電路系統(tǒng)加減計算理論及其工程應用能力。

      1.3? 帶符號二進制數(shù)的加減計算

      對于二輸入加減計算(兩個操作數(shù)A、B,其中A、B取值可能為正數(shù)或負數(shù)),共有8種計算情況,分別為正數(shù)+正數(shù)、正數(shù)-負數(shù)、正數(shù)-正數(shù)、正數(shù)+負數(shù)、負數(shù)+正數(shù)、負數(shù)?負數(shù)、負數(shù)+負數(shù)、負數(shù)-正數(shù)。很明顯,這8種情況可以等效為3類計算,分別是正數(shù)+正數(shù)(該計算體現(xiàn)正數(shù)+正數(shù)和正數(shù)?負數(shù)的計算)、正數(shù)+負數(shù)(該計算體現(xiàn)正數(shù)-正數(shù)、正數(shù)+負數(shù)、負數(shù)+正數(shù)和負數(shù)-負數(shù)的計算)以及負數(shù)+負數(shù)(該計算體現(xiàn)負數(shù)+負數(shù)和負數(shù)-正數(shù)的計算)。從上述分類可以看出,A與B相加與相減操作等效的三類計算均為加法操作,因此,在設計加減計算電路時可以基于該思想節(jié)約硬件開銷。

      本案例設計以操作數(shù)位寬4 bits為例進行說明,根據(jù)二進制數(shù)的計算理論,當輸入數(shù)據(jù)的位寬為4 bits時,為了防止數(shù)據(jù)溢出,兩個4 bits操作數(shù)的運算結果需要5 bits位寬才能正確表示。下面將基于4 bits操作數(shù)介紹正數(shù)+正數(shù)、正數(shù)+負數(shù)和負數(shù)+負數(shù)這三類計算,其他計算均可等效為這三類計算。

      如圖3所示為正數(shù)+正數(shù)的操作圖,其中操作數(shù)A和B均為正數(shù),分別為3和6。圖3(a)給出了操作數(shù)A、B的原碼、補碼以及位擴展后的補碼。位擴展是指對最高位(符號)進行擴展,如0011的最高位為0,位擴展后為00011,可見對于正數(shù)而言,位的擴展不會改變數(shù)值的大小。圖3(b)為操作數(shù)A、B的補碼相加過程,該加法中的操作數(shù)均為位擴展后的補碼形式,其結果(01001)也是補碼形式。01001的最高位為0,表示十進制數(shù)據(jù)9,該二進制結果符合3 + 6 = 9的計算結果。

      如圖4所示為正數(shù)+負數(shù)的操作圖,其中操作數(shù)A = 3、B = ?6。圖4(a)給出了操作數(shù)A、B的原碼、補碼以及位擴展后的補碼。負數(shù)的位擴展是指對最高位(符號)進行擴展,如B的補碼1010位擴展之后為11010,可見對于負數(shù)而言,位的擴展同樣不會改變數(shù)值的大小。圖4(b)為操作數(shù)A、B位擴展后補碼的相加過程,相加的結果(11101)也是補碼形式。按照圖2(b)中補碼與原碼之間的轉換關系可得補碼11101,表示十進制數(shù)?3,該結果符合3 + (-6) = -3的計算結果。從圖4中可以看出,A與B相減等效于A的補碼與(?B)的補碼相加。因此,在進行減法操作時可將該數(shù)取負后再進行補碼相加的操作,將減法操作轉換為加法操作,省去減法專用電路結構,節(jié)約計算電路的硬件開銷。

      如圖5所示為負數(shù)+負數(shù)的操作圖,其中操作數(shù)A = -3、B = -6。圖5(a)給出了操作數(shù)A、B的原碼、補碼以及位擴展后的補碼。A的位擴展補碼為11101,B的位擴展補碼為11010。圖5(b)為操作數(shù)A、B位擴展補碼的相加過程,相加的結果(10111)也是補碼形式。按照圖2(b)中補碼與原碼之間的轉換關系可得補碼10111,表示十進制數(shù)-9,該結果符合(-3) + (-6) = -9的計算結果。

      圖3、圖4、圖5計算涵蓋了兩個操作數(shù)的8類加減計算,其他計算均可等效為這三類計算。從圖3、圖4、圖5所展示的補碼計算操作過程可知,所有類型操作均為補碼的加法操作,也就是說所有的加法操作和減法操作都可以通過加法電路實現(xiàn),而無需設計復雜的減法專用電路。此外,從圖3至圖5可以看出,無論操作數(shù)是正數(shù)還是負數(shù),均可由補碼輸入計算得到正確的補碼輸出。因此,本案例將正負數(shù)的計算統(tǒng)一為基于補碼的加法計算形式,并在補碼計算內核的基礎上設計原碼與補碼轉換的電路模塊,實現(xiàn)計算電路的原碼輸入、原碼輸出,提高案例的可實踐性。

      2? 加減復用計算電路原理圖設計

      本小節(jié)基于上述兩個操作數(shù)的運算進行數(shù)字電路系統(tǒng)的設計,用于支持原碼輸入、原碼輸出的計算特征。首先介紹基于原碼計算的系統(tǒng)框圖,然后介紹系統(tǒng)框圖中的原碼、補碼轉換系統(tǒng)和加減計算復用系統(tǒng),分別如圖6、圖7所示。

      2.1? 加減計算復用系統(tǒng)框圖

      如圖6所示為加減計算系統(tǒng)框圖,用于支持基于原碼輸入、原碼輸出的加減計算任務。通過上述分析可知,無論數(shù)據(jù)類型為正數(shù)還是負數(shù),補碼運算的內核可使計算形式統(tǒng)一為加法操作。為便于學生理解二進制數(shù)據(jù)加減操作過程,本文設計了支持原碼輸入、原碼輸出的計算電路系統(tǒng),直觀地展示二進制加減操作。如圖6所示,該系統(tǒng)的輸入輸出均為二進制原碼,計算系統(tǒng)包含原碼、補碼轉換電路(為計算內核提供補碼輸入數(shù)據(jù)和原碼輸出數(shù)據(jù))和補碼計算內核電路(加減計算操作)。系統(tǒng)輸入為A、B(均為n bits原碼),系統(tǒng)輸出為O(n+1 bits原碼),圖中的[]符號表示位拼接,例如O = [S [n] O1]表示S [n]與O1(n bits)的拼接形成n+1 bits位寬數(shù)據(jù)賦值給O。

      2.2? 原碼、補碼轉換電路

      圖7(a)為原碼、補碼互換電路系統(tǒng)。圖7(a)上圖為系統(tǒng)框圖,系統(tǒng)輸入數(shù)據(jù)A的位寬為n bits,輸出數(shù)據(jù)S的位寬為n-1 bits。輸出數(shù)據(jù)位寬比輸入數(shù)據(jù)位寬少1的原因是原碼和補碼的符號位一樣,因此,本案例原碼、補碼轉換系統(tǒng)的輸出僅為除符號位的數(shù)據(jù)。

      圖7(a)下圖為圖7(a)系統(tǒng)圖的電路細節(jié)圖,實現(xiàn)原碼與補碼間的互換。該電路圖的輸入、輸出分別為A、S。電路內核單元是由異或門和半加器組成的鏈式電路。其中,半加器的兩個輸入端均為1 bit輸入數(shù)據(jù)(用符號A、B表示);半加器的兩個輸出端均為1 bit輸入數(shù)據(jù)(用符號S、C表示),S、C分別為A + B的和值、進位值。例如A = 1、B = 1時,按照二進制加法可得S = 0,C = 1。

      對于n bits輸入數(shù)據(jù),由于不需要處理符號位的數(shù)據(jù),系統(tǒng)僅需n-1個異或門與半加器的組合即可實現(xiàn)原碼與補碼間的轉換。其中,異或門的輸出端為XOR (A[i],A[n-1]),XOR表示異或操作。當電路系統(tǒng)的輸入為正數(shù)時,符號位A[n-1] = 0,則XOR (A[i],A[n-1]) = A[i];當電路系統(tǒng)的輸入為負數(shù)時,符號位A[n-1] = 1,則XOR (A[i],A[n-1]) = NOT(A[i]),NOT表示取非操作。從上述分析可知,電路系統(tǒng)中的n-1個異或門可實現(xiàn)除符號位之外原碼的反碼操作。當原碼為正數(shù)時,XOR操作后保持原碼數(shù)據(jù)(正數(shù)的原碼等于其反碼);當原碼為負數(shù)時,XOR操作后得到反碼,從而實現(xiàn)原碼與補碼間轉換的第一步。

      基于XOR門反碼輸出結果,n-1個半加器的鏈式結構用于支持從反碼到補碼的操作,從而實現(xiàn)原碼與補碼間的轉換。當電路系統(tǒng)的輸入為正數(shù)(A[n-1] = 0)時,根據(jù)電路系統(tǒng)中鏈式半加器結構可知,S [0] = A [0]、S [1] = A [1]、…、S [n-2] = A [n-2],該轉換系統(tǒng)的輸出與輸入(除去符號位)一致,滿足正數(shù)原碼等于補碼的計算特征;當電路系統(tǒng)的輸入為負數(shù)(A [n-1] = 1)時,根據(jù)電路系統(tǒng)中鏈式半加器結構可知,該電路計算操作數(shù)A除符號位外取反再加1的操作,滿足負數(shù)原碼與補碼間轉換的計算特征。綜上所述,該轉換電路系統(tǒng)能夠支持原碼與補碼間的互換計算。

      圖7(b)給出輸入數(shù)據(jù)位寬為4 bits(輸入數(shù)據(jù)為A)的電路系統(tǒng)結構案例。由于符號位不需要進行轉換,電路系統(tǒng)僅需3組異或門與半加器的鏈式組合。A[0]~A[2]依次作為3組異或門的輸入數(shù)據(jù);A[3]為A的符號位數(shù)值,該值為3組異或門的控制輸入數(shù)據(jù),實現(xiàn)二進制原碼與反碼間的轉換操作(正數(shù)反碼=原碼;負數(shù)反碼=NOT(原碼))。半加器鏈式結構進行加法操作,實現(xiàn)反碼(異或門輸出結果)轉換為補碼的操作。例如,當A為負數(shù)時,A[3] = 1,最低位的半加器進行反碼加1操作,并通過該半加器鏈式結構進行逐位相加,即可得到負數(shù)除去符號位的補碼數(shù)據(jù);當A為正數(shù)時,A[3] = 0,半加器鏈式電路輸出為反碼(正數(shù)的原碼=反碼=補碼),即可得到正數(shù)除去符號位的補碼數(shù)據(jù)。

      2.3? 加減計算復用數(shù)字電路系統(tǒng)

      如圖8所示為加減計算復用數(shù)字電路系統(tǒng),用于支持補碼輸入、補碼輸出的加減計算任務。圖8(a)為系統(tǒng)框圖,包含3個輸入端(A、B和ASC)和1個輸出端(S)。其中,A、B為數(shù)據(jù)輸入端口,位寬均為n bits;ASC為加減控制輸入端口,位寬為1 bit。當ASC = 0時,系統(tǒng)執(zhí)行加法操作;當ASC = 1時,系統(tǒng)執(zhí)行減法操作。S為數(shù)據(jù)輸出端口,位寬為n+1 bits。

      圖8(b)為圖8(a)系統(tǒng)框圖的電路細節(jié)圖。該電路圖的三個輸入端分別為A、B和ASC,1個輸出端為S。電路系統(tǒng)的內核單元為異或門和全加器組成的鏈式電路。其中,全加器的3個輸入端均為1 bit輸入數(shù)據(jù)(用符號A、B和Cin表示);兩個輸出端均為1 bit輸入數(shù)據(jù)(用符號S、C表示),S、C分別為A + B + Cin的和值、進位值。例如A = 1、B = 0、Cin = 1時,按照二進制加法可得S = 0,C = 1。

      通過圖3、圖4、圖5分析可知,位擴展的加減計算是避免數(shù)據(jù)溢出并得到正確計算結果的有效方法。本設計采用位擴展策略,對于n bits輸入數(shù)據(jù),構建n+1組由異或門與全加器構成的鏈式結構,如圖8(b)所示。從左往右,A、B從最低位值到最高位值(符號位的值)依次付給前n組異或門和全加器。最后為了計算正確,將A、B符號位的值再次送入最右側的異或門和全加器,實現(xiàn)位擴展計算。

      在該設計中,異或門的輸入分別為B[i]和ASC。根據(jù)異或門的計算特征(XOR(B[i],ASC))可知,當ASC = 0時異或門輸出B[i],電路系統(tǒng)實現(xiàn)A +? = 的操作。例如,對于圖8(b)最左側的異或門和全加器組合,由于異或門輸出為B[0],全加器三個輸入端的數(shù)據(jù)分別為A[0]、B[0]以及ASC(此時ASC = 0),則全加器的計算模式為A[0] + B[0] + ASC = A[0] + B[0]。根據(jù)鏈式結構的數(shù)據(jù)傳遞特征可知,圖8(b)電路在ASC = 0時實現(xiàn)A + B的操作,從而實現(xiàn)加法操作。

      當ASC = 1時,圖8(b)實現(xiàn)A - B的操作,從而實現(xiàn)減法操作。根據(jù)圖8(b)可知,ASC = 1條件下,異或門輸出NOT(B[i]),即最高的兩位異或門是將B的符號位取反,其他異或門對B的數(shù)值位取反。由于最低位全加器的進位輸入端為加減控制信號,即Cin = ASC = 1,全加器實現(xiàn)B的反碼加1操作,求得B負數(shù)的補碼,即(-B)的補碼。根據(jù)圖4的分析可知,減去一個數(shù)等效于與這個數(shù)負數(shù)的補碼相加,因此,圖8(b)電路實現(xiàn)A - B的操作。

      為了更加直觀地展現(xiàn)圖8電路支持減法(ASC = 1)操作,我們以圖4的3-6計算為例進行分析。設A = 3、B = 6,此時A、B均為正數(shù),通過圖7轉換可得A = 0011、B = 0110。圖8輸入數(shù)據(jù)位寬為4 bits,需要5組由異或門與全加器構成的鏈式結構。圖8的輸入數(shù)據(jù)為A[0] = 1、A[1] = 1、A[2] = 0、A[3] = 0、B[0]=0、B[1] = 1、B[2] = 1、B[3] = 0、ASC = 1,則5個異或門對B取反可得11001,此時全加器A、B、Cin端口的輸入分別為00011、11001、1,全加器執(zhí)行三者的相加操作,即00011+11001+1 = 00011+(11001+1) = 00011+11010 = 11101(11101為-3的補碼),其中00011為3的補碼,11010為-6的補碼,從而實現(xiàn)3-6 = -3的操作。

      綜上所述,圖8電路設計能夠同時支持補碼輸入、補碼輸出的加減計算任務,實現(xiàn)加減復用計算的功能。本案例給出了詳細的理論知識和電路設計思路,學生可以基于教學案例的設計思想進行自主設計,進一步提升數(shù)字電路系統(tǒng)的創(chuàng)新能力。

      3? 實驗仿真

      本節(jié)將以兩個4 bits位寬數(shù)據(jù)執(zhí)行加減操作為例進行仿真設計,驗證圖6原碼輸入、原碼輸出的加減系統(tǒng)的計算功能。

      3.1? 仿真設置

      本實驗所用軟件平臺為Quartus Ⅱ 12.0和Modelsim SE-64 10.0d,其中Quartus Ⅱ用于設計、驗證和綜合加減計算電路,Modelsim用于提供仿真波形。Quartus Ⅱ和Modelsim聯(lián)合仿真配置方式參見文獻[17]。

      3.2? 兩輸入加減計算系統(tǒng)電路

      如圖9所示為兩輸入加減計算電路圖,該圖包含3個部分,分別為原碼轉補碼電路、補碼加減計算電路和補碼轉原碼電路。圖9中的數(shù)據(jù)流動方向與圖6一致。圖9(a)為原碼轉補碼電路,該電路對應于圖6左側的原碼補碼轉換系統(tǒng),實現(xiàn)將輸入的原碼數(shù)據(jù)轉換為補碼,為下一級模塊提供補碼輸入數(shù)據(jù)。該計算系統(tǒng)的輸入數(shù)據(jù)為A(4 bits)、B(4 bits)、ASC(1 bit),圖9(a)將A、B進行原碼轉補碼的操作,操作數(shù)A、B的補碼分別用符號C、D表示。圖9(b)為補碼加減計算電路,該電路對應圖6的加減計算復用系統(tǒng),實現(xiàn)基于補碼的加減運算,為下一級提供補碼形式的加減計算值。該模塊電路的輸入為加減計算控制位(ASC)和符號位擴展的C、D,輸出為S和O的符號位。9(c)為補碼轉原碼電路,該電路對應圖6右側的原碼補碼轉換系統(tǒng),該模塊的輸入數(shù)據(jù)為S,輸出數(shù)據(jù)為O的值位,實現(xiàn)補碼轉換為原碼,完成從原碼輸入到原碼輸出的加減計算。

      3.3? 仿真波形分析

      該加減操作計算電路支持所有操作數(shù)為正數(shù)或負數(shù)的情況,為了驗證該計算電路的運算正確性,仿真結果將展示操作數(shù)A、B取正數(shù)或負數(shù)的運算波形,如圖10、圖11所示,仿真時間周期為500 ns。

      圖10枚舉了操作數(shù)A為正數(shù)、操作數(shù)B正負切換的加減計算情形。圖中A、B、ASC為計算電路的輸入數(shù)據(jù),A和B均為4 bits位寬數(shù)據(jù)(原碼,最高位為符號位),ASC為加減控制位(1 bit),O為輸出數(shù)據(jù)(原碼,最高位為符號位)。對于操作數(shù)A為正數(shù)的情形可實現(xiàn)A+B(正數(shù))、A+B(負數(shù))、A-B(正數(shù))以及A-B(負數(shù))四種情形。例如,在1~1.5 μs,A = 0000(十進制數(shù)0),B = 0111(十進制數(shù)7),ASC = 1(減法操作),仿真結果O(10111符號位擴展結果)與A-B = -7的原碼結果一致。通過簡單計算可知,其他時刻的仿真結果與理論運算也一致,這表明該電路能夠支持上述四類計算的原碼運算模式。

      圖11枚舉了操作數(shù)A為負數(shù)、操作數(shù)B正負切換的加減計算情形。圖中A、B、ASC與圖10一致。對于操作數(shù)A為負數(shù)的情形可實現(xiàn)A+B(正數(shù))、A+B(負數(shù))、A - B(正數(shù))以及A - B(負數(shù))四種情形。例如,在16.5~17 ns,A = 1000(十進制數(shù)-8),B = 0111(十進制數(shù)7),ASC = 0(加法操作),仿真結果O(10001,符號位擴展結果)與A+B = -1的原碼結果一致。通過簡單計算可知,其他時刻的仿真結果與理論運算也一致。

      圖10、圖11的仿真結果表明,該電路系統(tǒng)能夠支持各類型原碼輸入、原碼輸出的加減計算模式,驗證了圖9數(shù)字電路系統(tǒng)的計算功能,表明該電路系統(tǒng)的設計合理性和計算正確性。圖9、圖10、圖11的詳細電路設計圖和波形分析結果可以輔助學生基于本案例的驗證過程進行工程設計,進一步提升數(shù)字電路系統(tǒng)在QuartusⅡ和Modelsim中的實踐能力。

      4? 結? 論

      本文以原碼輸入、原碼輸出加減計算復用電路設計為例進行教學案例設計,旨在利用數(shù)字電路知識構建特定需求的數(shù)字電路系統(tǒng)。首先,介紹帶符號運算的加減計算原理;其次,基于計算原理構建加減可復用計算的電路原理圖,實現(xiàn)原碼數(shù)據(jù)輸入、原碼數(shù)據(jù)輸出的計算;最后,對原理圖進行實驗驗證,仿真結果直觀地展示了8類運算結果,驗證了加減復用計算電路系統(tǒng)的計算功能。一方面,本教學案例提供一種直觀的原碼輸入、原碼輸出運算電路,便于學生有效處理帶符號二進制運算;另一方面,本案例給出詳細的理論知識和電路設計圖,學生可以基于教學案例的設計思想進行自主設計,有效提升其數(shù)字電路系統(tǒng)的實踐能力和創(chuàng)新能力,為其進一步成長為學習型人才打下良好的專業(yè)基礎和實踐基礎。

      參考文獻:

      [1] 教育部,人力資源社會保障部,工業(yè)和信息化部.制造業(yè)人才發(fā)展規(guī)劃指南[EB/OL].[2023-01-04].https://www.gov.cn/xinwen/2017-02/14/content_5167903.htm.

      [2] 復旦大學教務處.“新工科”建設復旦共識 [EB/OL].[2023-01-08].https://jwc.fudan.edu.cn/2b/1b/c25319a273179/page.htm.

      [3] 楊颯,邢鳳闖.基于高頻諧振功率放大電路分析的仿真教學研究 [J].廣東第二師范學院學報,2020,40(5):98-105.

      [4] 宋耘.哈佛商學院“案例教學”的教學設計與組織實施 [J].高教探索,2018,183(7):43-47.

      [5] 胡志超,王云超,馮薇,等.“以學生為中心”的工科混合式教學課程設計探索與實踐 [J].高教學刊,2023,9(2):158-161+165.

      [6] 孫覬琳,成守宇,薛若軍,等.開放式實驗在“核工程虛擬仿真實驗”課程教學中的應用初探 [J].現(xiàn)代信息科技,2022,6(18):192-194+198.

      [7] 朱寶忠,孫運蘭,陳海飛,等.基于新工科背景的“學科競賽”&“科研訓練”雙驅模式下學生工程實踐能力和創(chuàng)新創(chuàng)業(yè)能力的培養(yǎng) [J].創(chuàng)新創(chuàng)業(yè)理論研究與實踐,2022,5(23):76-78.

      [8] 艾偉,郭亮,李梅,等.基于創(chuàng)新能力培養(yǎng)的電子類工程實踐教學模式探索 [J].創(chuàng)新創(chuàng)業(yè)理論研究與實踐,2022,5(22):118-120.

      [9] 馮李航,吳力帆,宋輝,等.虛擬工廠規(guī)劃仿真系統(tǒng)設計及其教學案例分析 [J].實驗技術與管理,2023,40(1):160-168.

      [10] 閻昌國,李偉,李青,等. Boost變換器電路的“再生”教學與實驗仿真 [J].實驗技術與管理,2021,38(7):161-165.

      [11] 張蓓,張粹玲,王新澤,等.“傳感器及調理電路的設計與仿真”課程的項目實踐理念探索 [J].實驗技術與管理,2021,38(3):225-229+282.

      [12] 李泉龍.基于Kogge-Stone算法與多米諾邏輯的64位高性能加法電路設計 [D].成都:西南交通大學,2016.

      [13] 周游,李杰,賀光輝.面向高精度隨機計算單元的加法運算電路與MAX運算電路設計 [J].微電子學與計算機,2021,38(7):1-6.

      [14] 李鵬.減法電路在運放恒流源電路中的應用 [J].電子世界,2019,580(22):163-164.

      [15] LIU B. Research and Design of a simple CPU with QuartusⅡ [J] .IOP Conference Series:Earth and Environmental Science,2019,252(3):032180.

      [16] ALBATOOSH A H,SHUJA'A M I,AL-NEDAWE B M. A VHDL Code for Offset Pulse Position Modulation Working with Reed Solomon System by Using ModelSim [EB/OL].[2023-01-19].https://www.journal.mtu.edu.iq/index.php/MTU/article/view/758.

      [17] 陳艷,楊颯.算術邏輯單元在Quartus Ⅱ與ModelSim中的教學實例設計 [J].現(xiàn)代信息科技,2021,5(18):111-115.

      作者簡介:陳艷(1991.02—),女,漢族,湖南常德人,講師,博士,研究方向:FPGA高性能計算;通訊作者:楊颯(1970.10—),女,漢族,湖南湘潭人,副教授,碩士,研究方向:信息處理與電路設計。

      收稿日期:2023-02-24

      基金項目:廣東省普通高校重點領域專項(2020ZDZX2059);廣東省高等學校教學質量與教學改革工程項目(202005048);廣州市科技計劃一般項目(202201011386);廣東第二師范學院創(chuàng)新創(chuàng)業(yè)訓練計劃項目(202214278076)

      猜你喜歡
      數(shù)字電路實驗設計案例教學
      不同的溫度
      幼兒畫刊(2021年11期)2021-11-05 08:26:02
      有趣的放大鏡
      幼兒畫刊(2021年10期)2021-10-20 01:44:40
      哪個涼得快?
      幼兒畫刊(2020年2期)2020-04-02 01:26:22
      基于數(shù)字電路的定時器的設計
      電子制作(2019年22期)2020-01-14 03:16:46
      無字天書
      幼兒畫刊(2019年2期)2019-04-08 00:53:30
      MATLAB在數(shù)字電路教學中的應用
      電子測試(2018年23期)2018-12-29 11:11:48
      基于數(shù)字電路的密碼鎖設計與實現(xiàn)
      數(shù)字電路實驗的設計分析
      電子制作(2017年1期)2017-05-17 03:54:28
      案例教學在機械創(chuàng)新設計課程中的應用
      考試周刊(2016年77期)2016-10-09 12:16:11
      馬克思主義基本原理概論課案例教學的幾點思考
      大學教育(2016年9期)2016-10-09 08:13:04
      镇赉县| 武乡县| 察隅县| 禄丰县| 米泉市| 玉屏| 和静县| 海城市| 新丰县| 顺昌县| 崇文区| 元氏县| 彩票| 高要市| 新竹县| 克山县| 嵊泗县| 嘉义县| 长春市| 茶陵县| 会理县| 漳浦县| 徐水县| 米林县| 龙里县| 桐乡市| 油尖旺区| 碌曲县| 和田市| 汝城县| 乌兰浩特市| 江口县| 喀喇| 宜丰县| 南平市| 南宁市| 南江县| 海淀区| 安阳县| 偃师市| 全椒县|