数字逻辑课程设计---基于fpga的简单运算器_第1页
数字逻辑课程设计---基于fpga的简单运算器_第2页
数字逻辑课程设计---基于fpga的简单运算器_第3页
数字逻辑课程设计---基于fpga的简单运算器_第4页
数字逻辑课程设计---基于fpga的简单运算器_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

洛阳理工学院课程设计报告课程名称脉冲与数字电路设计题目简单运算器专业通信工程班级学号姓名完成日期2012年06月12日课程设计任务书设计题目基于FPGA的简单运算器设计内容运用可编程软件设计一个简单的运算器,首先设计原理图,并用QUARTUSII完成原理图绘制,或编写VHDL程序,调试电路或程序,下载到实验箱设计要求该运算器能完成7到7的简单的加、减、与、异或四种运算功能,并且可以对溢出的结果进行修正。指导教师2012年06月04日课程设计评语成绩指导教师_年月日运算器摘要设计一个简单运算器。由顶层电路、运算器、按键输入、控制信号产生、修正结果、显示等模块构成。用QUARTUSII绘制原理图或编写VHDL程序,然后封装画出电路图,该简单运算器可以实现加、减法算数运算和与、异或逻辑运算,且该运算器设计完之后经过了QUARTUSII软件和FPGA实验板的下载验证。关键词运算器,QUARTUSII,VHDL程序目录第一章系统原理811系统功能812系统原理图913电路设计原理9第二章系统组成1021按键模块10211按键模块VHDL程序10212按键模块仿真波形14213按键模块电路封装图15214按键模块功能1522控制信号产生模块15221控制模块VHDL程序15222控制模块仿真波形18223控制模块电路封装图18224控制模块功能1923修正模块19231修正模块VHDL程序19232修正模块仿真波形23233修正模块电路封装图23234修正模块功能2424显示模块24241显示模块VHDL程序24242显示模块电路封装图27243显示模块功能2825运算器模块28251运算器模块功能28252运算器模块电路图28第三章定制选择器2931定制选择器2932用VHDL符号图画运算器顶层电路图31第四章下载验证及调试3341器件选择及引脚设置3342配置文件下载34结论35参考文献36前言随着FPGA性能的不断完善,FPGA器件的种类日益丰富,受到世界范围内电子设计人员的普遍欢迎,并占据了较大的市场,其生产厂家也由原来的XILINX公司一家增加到ALTERA、ACTEL、LATTICE等十几家公司。ALTERA公司的主要产品有属于FPGA的FLEX、ACEX、APEX、MERCURY、EXCALIBUR、STRATIX和CYCLONE等系列;属于CPLD的MAX和CLASSIC系列。开发工具有,被普遍认为是最优秀PLD开发平台之一的MAXPLUSII和支持APEX、MERCURY、EXCALIBUR、STRATIX和CYCLONE系列器件的QUARTUSII开发软件。CYCLONE系列器件是ALTERA公司推出的低价位FPGA产品,是STRATIX系列的简化版,分为CYCLONEI和CYCLONEII两个系列。CYCLONEI系列产品为基于15V、采用013UM全铜SRAM工艺的低成本FPGA。CYCLONEII系列产品基于12V,采用009UM全铜CMOS工艺,SRAM编程技术,其成本更低、容量更高、速度更快。它和高性能的STRATIXII系列的FPGA是目前ALTERA公司主流产品。我的简单运算器主要是用VHDL语言编写,以CYCLONE器件为依托,并下载到ALTERA仿真工具箱CYCLONEEP1C6Q240C8验证功能成功,能够初步完成简单运算器的雏形。随着大规模集成电路技术和计算机技术的高速发展,在涉及通信、国防、工业自动化、计算机设计与应用、仪器仪表等领域的电子系统设计工作中,FPGA技术的含量正以惊人的速度提升。电子类的新技术项目的开发也更多地依赖于FPGA技术的应用,特别是随着HDL等硬件描述语言综合功能和性能的提高,计算机中许多重要的元件(包括CPU)都用硬件描述语言来设计和表达,许多微机CPU、硬核嵌入式系统(如ARM、MIPS)、软核嵌入式系统(如NIOSII)、大型CPU,乃至整个计算机系统都用FPGA来实现,即所谓的单片系统SOC或SOPCSYSTEMONACHIP、SYSTEMONAPROGRAMMERABLECHIP。计算机和CPU的设计技术及其实现途径进入了一个全新的时代不但如此,传统的CPU结构模式,如冯诺依曼结构和哈佛结构正在接受巨大的挑战。例如美国WINCOMSYSTEMS公司推出一款令人惊叹的服务器,其核心部分是由FPGA完成的超强功能CPU。该系统工作能力超过50台DELL或IBM计算机,或SUNMICROSYSTEMS公司的服务器。该服务器的处理速度要比传统服务器快50到300倍。我们知道,传统的PC机及服务器通常采用诸如INTEL公司的奔腾处理器或SUN公司的SPARC芯片作为中央处理单元,而WINCOMSYSTEMS的这款产品却没有采用微处理器,而是由FPGA芯片驱动。FPGA芯片的运行速度虽比奔腾处理器慢,但可并行处理多项任务,而微处理器一次仅能处理一项任务。因此,WINCOMSYSTEMS的服务器只需配置几个价格仅为2000多美元的FPGA芯片,便可击败SUN公司的服务器或采用INTEL处理器的计算机。50多年前,匈牙利数学家冯诺依曼提出了计算机的设计构想通过中央处理器从储存器中存取数据,并逐一处理各项任务。然而现在,却采用FPGA取代传统微处理器获得了更高的性能,致使美国XILINX公司的首席执行官WILLEMROELANDTS认为“由冯诺依曼提出的电脑架构已经走到尽头”,“可编程芯片将掀起下一轮应用高潮”。FPGA芯片操作灵活,可以重复擦写无限次,而微处理器均采用固定电路,只能进行一次性设计。设计人员可通过改变FPGA中晶体管的开关状态对电路进行重写,即重配置,从而尽管FPGA芯片的时钟频率要低于奔腾处理器,但是由于FPGA芯片可并行处理各种不同的运算,所以可以完成许多复杂的任务。正如WILLEMROELANDTS所说的,“我们认为下一代超级电脑将基于可编程逻辑器件”,他声称,这种机器的功能比目前最大的超级电脑还要强大许多倍。EDA专家WILLIAMCARTER认为,只要EDA开发工具的功能允许,将有无数的证据证明FPGA具有这种神奇的能力,进而实现基于FPGA的超级电脑的开发。此外,美国加州大学伯克利分校和杨百翰大学的研究人员也正在设计基于FPGA的电脑,这些电脑可在运行中实现动态重配置。这对定位危险目标等军事应用和面容识别之类的计算密集型安全应用十分有用。由此看来,在计算机应用领域和计算机系统设计领域中,EDA技术和FPGA的应用方兴未艾硬件描述语言HDLHARDWAREDESCRIPTIONLANGUAGE是EDA技术的另一重要组成部分,常见的HDL有VHDL、VERILOGHDL、SYSTEMVERILOG和SYSTEMC。其中VHDL、VERILOG在现在EDA设计中使用最多,也得到几乎所有的主流EDA工具的支持。而后两种HDL语言尚处于完善过程中。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述能力,在语言易读性和层次化结构设计方面表现了强大的生命力和应用潜力。因此,VHDL支持各种模式的设计方法自顶向下与自底向上或混合方法,在面对当今许多电子产品生命周期缩短,需要多次重新设计以融入最新技术、改变工艺等方面,VHDL都表现了良好的适应性。第一章系统原理11系统功能该系统是基于FPGA设计的简单运算器,可以实现简单的7到7范围内的加、减、与、以及异或四则运算。将设计好的系统电路图与硬件实验板相连接,进行运算验证。该实验板由一个8按键电路和一个32位LCD显示器组成,通过相应的按键输入把运算结果显示在LCD显示器上。12系统原理图VCCRSTINPUTVCCCLKINPUTVCCKEYAINPUTVCCKEYBINPUTVCCKADDINPUTVCCKSUBINPUTVCCKANDINPUTVCCKSORINPUTVCCKEQUINPUTRSOUTPUTRWOUTPUTENXOUTPUTD70OUTPUTRSTNCLKCPCPTCPMUXSADD10SSUB10SAND10SXOR10CP3INSTRSTNCLKKEYAKEYBKADDKSUBKANDKXORKEQUENYSF10A30B30C30D30XSYSF70XA70XB70KEYINST3DATA3X10DATA2X10DATA1X10DATA0X10CLOCKSEL10RESULT10MUX42INST4RSTNCPCPTS10X30OVERCOUTT30B30C30D30TU1INST6CLKR070R130R230R370R470R570RSRWENCLK_OUTD70XIANSHIINST7RSTNS10CLKOVERCOUTT30FH70SH30SL30XZJGINST8AND2INST13AND2INST14AND2INST15AND2INST16DATA3X30DATA2X30DATA1X30DATA0X30CLOCKSEL10RESULT30MUX44INST5TA70T30XSYSF70EN2145EN2EN1CLKRSTS1045T30RSTTB70XSYSF70TA70TB70ENCLKS1013电路设计原理该运算器电路由按键输入、控制、修正、显示和运算五大模块组成,来实现加、减、与、异或运算功能。首先按键模块用于输入两个数和运算符,通过控制模块传送到运算器模块进行运算,再连接到修正模块,通过修正模块对“溢出”的数值进行修正,最后显示模块功能实现把运算过程反应到LCD显示器上。第二章系统组成21按键模块211按键模块VHDL程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYKEYISPORTENOUTSTD_LOGICYSFOUTSTD_LOGIC_VECTOR1DOWNTO0RSTN,CLKINSTD_LOGICKEYA,KEYBINSTD_LOGICKADD,KSUB,KAND,KXOR,KEQUINSTD_LOGICA,B,C,DOUTSTD_LOGIC_VECTOR3DOWNTO0XSYSFOUTSTD_LOGIC_VECTOR7DOWNTO0XA,XBOUTSTD_LOGIC_VECTOR7DOWNTO0ENDKEYARCHITECTUREARCHOFKEYISSIGNALTKADD,TKSUB,TKAND,TKXOR,TKEQUSTD_LOGICSIGNALTA,TBSTD_LOGIC_VECTOR3DOWNTO0BEGIN保存APROCESSKEYA,RSTNBEGINIFRSTN0THENTAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXANULLENDCASECASETBISWHEN“0000“XBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBNULLENDCASEENDIFENDPROCESSENDARCH212按键模块仿真波形213按键模块电路封装图214按键模块功能实现对按键的设定及控制,得以把运算数据输入电路。22控制信号产生模块221控制模块VHDL程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYCP3ISPORTRSTN,CLKINSTD_LOGICCP,CPT,CPMUXBUFFERSTD_LOGICSADD,SSUB,SAND,SXOROUTSTD_LOGIC_VECTOR1DOWNTO0ENDCP3ARCHITECTUREBEHAVIORALOFCP3ISTYPESTATE1ISS0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11SIGNALPRES1,NXS1STATE1TYPESTATE2ISSS0,SS1,SS2,SS3SIGNALPRES2,NXS2STATE2BEGINPROCESSCLK,RSTNBEGINIFRSTN0THENPRES1CPCPCPCPCPCPCPCPCPCPCPCPSADDSADDSADDSADDTHTLTLTLTLTLTLTLTLTLTLTLTLTLTLTLTLNULLENDCASEWHEN“01“THTLTLTLTLTLTLTLTLTLTLTLTLTLTLTLTLNULLENDCASEWHEN“10“FHTHTHTHTHTHTHTHNULLENDCASEWHEN“11“FHTHTHTHTHTHTHTHTHNULLENDCASEENDCASEENDIFENDPROCESSPROCESSRSTN,S,TH,TL,CLKBEGINIFRSTN0THENSHSHSHSHSH“00100000“TYPESTATEISCLEAR,IDS,DLNF,DCB,DDRAM1,OUTDATA1,DDRAM2,OUTDATA2SIGNALCOUNTSTD_LOGIC_VECTOR15DOWNTO0SIGNALLCLK_OUTSTD_LOGICSIGNALCOUNTSINTEGERRANGE0TO30000000SIGNALCURRENT_STATESTATESIGNALTEMPASTD_LOGIC_VECTOR4DOWNTO0“00000“BEGINPROCESSCLK_OUT,CLKBEGINIFRISING_EDGECLKTHENCOUNTSDDDDDRSDRSNULLENDCASEENDIFENDPROCESSENDBEHAVIORAL242显示模块电路封装图243显示模块功能通过显示电路把运算结果显示到LCD显示器上。25运算器模块251运算器模块功能对输入的数据进行简单的运算,输出运算结果。252运算器模块电路图VCCRSTNINPUTVCCCPINPUTVCCCPTINPUTVCCS10INPUTVCCX30INPUTOVEROUTPUTCOUTOUTPUTT30OUTPUTB30OUTPUTC30OUTPUTD30OUTPUTMULTIPLEXER1C11GN1C02C02GN2C21C21C3BA2C12C31Y2Y74153INST64BITADERCINA1A2B2A3A4B4B1B3SUM4COUTSUM1SUM2SUM374283INST7VCCGNDNOTINST10NOTINST11NOTINST12NOTINST13XORINST14XORINST15XORINST16XORINST17XORINST18AND2INST19AND2INST20AND2INST21AND2INST22AND2INST24AND2INST2624DECODERA1A2B1B2G1NG2NY10NY20NY13NY12NY11NY21NY22NY23N74139INSTXORINST27XORINST28XORINST29AND2INST25AND2INST30SHIFTREGSLSISRSIBCCLKCLRNDS1S0AQAQBQCQD74194INST32TRIINST33TRIINST34TRIINST35TRIINST36NOTINST37NOTINST38TRIINST39TRIINST40TRIINST41TRIINST42AND3INST53AND3INST54AND3INST55AND3INST56OR2INST57OR2INST58NOTINST59OR2INST60CLRNDPRNQDFFINST61CLRNDPRNQDFFINST62AND2INST63AND2INST64AND2INST65NOTINST66VCCSHIFTREGSLSISRSIBCCLKCLRNDS1S0AQAQBQCQD74194INST3SHIFTREGSLSISRSIBCCLKCLRNDS1S0AQAQBQCQD74194INST4SHIFTREGSLSISRSIBCCLKCLRNDS1S0AQAQBQCQD74194INST5SHIFTREGSLSISRSIBCCLKCLRNDS1S0AQAQBQCQD74194INST23MULTIPLEXER1C11GN1C02C02GN2C21C21C3BA2C12C31Y2Y74153INST31S0S1Y0Y1Y2Y3B0B1B2B3Y1Y1Y1Y1Y1A0A1A2A3SS0SS1SS2SS3COUT1A3C3A2C2A1C1A0C0SA3SA2SA1SA0A3D3A2D2A1D1A0D0SX3SX2SX1SX0S0S1IN0SS3SA3SX3IN0SS2SA2SX2P3P2P1P0S0S1IN0SS1SA1SX1IN0SA0SX0Y3D3D2D1D0IN1BUS3BUS2BUS1BUS0IN1RSTNC3C2C1C0IN1BUS3BUS2BUS1BUS0IN1RSTNY2B3B2B1B0IN1BUS3BUS2BUS1BUS0IN1RSTNY1Y0A3A2A1A0IN1XINCBUS3BUS2BUS1XINCX0XINCX1XINCX2XINCX3IN1P3P2P1P0IN1RSTNCPTT3T2T1T0CPTCPTCPTCPTBUS3BUS2BUS1BUS0A3B3T3FANFBNFSNFBNFSNA3T3B3FANB3A3T3AOVERY1SOVERCPCPTCOUT1COUTOVERIN1BUS2BUS1RSTNBUS0BUS3SS0IN1IN0CPCPCPCP第三章定制选择器31定制选择器新建“原理图BLOCKDIAGRAM”文件后,点打开下图,点击按钮MEGEWIZARDPLUGINMANAGER,打开下图,点击NEXT,打开图见下页。在下图左侧选择GATESLPM_MUX在下图右侧找到你的文件夹后,输入文件名MUX44点击NEXT,打开下页图在下图中设置选择器的输入输出线设置数据输入端个数为4。设置每个数据输入端的宽度(即总线位数)为4。设置输出缓冲时间为1个周期。点击NEXT,打开下页图。在下面图中MUX43BSF打钩,然后点击NEXT。点击下图的按钮FINISH,完成定制。32用VHDL符号图画运算器顶层电路图1新建文件夹“运算器综合电路”2新建原理图文件,放置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论