简易计算器的pld实现学士学位论文.docx
《简易计算器的pld实现学士学位论文.docx》由会员分享,可在线阅读,更多相关《简易计算器的pld实现学士学位论文.docx(21页珍藏版)》请在冰豆网上搜索。
简易计算器的pld实现学士学位论文
毕业设计(论文)
题目:
简易计算机的PLD实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
目录
一、毕业设计(论文)开题报告
二、毕业设计(论文)外文资料翻译及原文
三、学生“毕业论文(论文)计划、进度、检查及落实表”
四、实习鉴定表
xx大学xx学院
毕业设计(论文)
开题报告
题目:
简易计算机的PLD实现
机电系电子信息工程专业
学号:
学生姓名:
指导教师:
(职称:
讲 师)
(职称:
)
XXXX年X月XX日
课题来源
①随着科技的发展,对于计算器的越来越大,它在人们的经济、生活等各个方面发挥着重要作用。
在我国,对于PLD器件的需求也越来越大。
②以国际大环境为背景,加快高等教育的信息化、国际化进程也是急需的
科学依据(包括课题的科学意义;国内外研究概况、水平和发展趋势;应用前景等)
可编程逻辑器件PLD具有高性能、低成本、低功耗、体积小和可靠性高的特性。
在我国,随着改革开发开放和经济建设的迅速发展,对PLD器件的需求越来越来大。
我国ASIC的设计和生产能力都比较薄弱,而绝大多数的电子产品的密度和速度不是太高,批量也比较小。
因此,广泛使用PLD器件是非常适合提高我国电子产品性能和竞争能力的主要措施之一,应大力普及以及推广。
然而,由于PLD技术的加密功能,又使得我们对于引进技术的消化、吸收和创新具有了一定的难度。
在此情况下,PLD的解析技术应运而生了。
这种技术我国目前处于起步阶段。
采用PLD对器件进行设计是通过对芯片的逻辑功能的设计,以达到系统功能的实现,从而改变了原来的设计方式。
尤其是在系统可编程逻辑器件ISP的生产,给数字系统设计带了了一个飞跃。
研究内容
①通过数字电路基础知识、基础逻辑单元、组合电路时序逻辑电路分析设计方法等基本部分的讲授和实验的训练,掌握必要的数字电子技术的基本理论、基本方法和基本技能,掌握PLD技术,建立数字系统概念。
②可编程逻辑(PLD)是由用户进行编程从而实现所需逻辑功能的数字集成电路(IC),利用PLD内部的逻辑机构可以实现任何布尔表达式或者寄存器函数。
③对于PLD产品的开发必须了解其开发软件和开发流程,了解PLD的内部结构。
详细了解各个芯片功能。
拟采取的研究方法、技术路线、实验方案及可行性分析
①通过强调电子电路系统设计者所需的实用方法,熟悉各个芯片基本功能,掌握电子设计自动化(EDA)技术。
掌握电子元器件的特性和选用方法,从框图及理解其结构原理基础上,达到真正掌握其使用并融会贯通。
②学习研究电子电路的特点,了解PLD的设计步骤。
PLD设计步骤为:
设计构思、选择器件类型、列写原文件、对器件编程。
注意组合电路的输出方程是直接输出的而时序电路方程的输出由时钟值输出的。
总体设计——总体框图——单元电路设计——整体电路设计——软件仿真
研究计划及预期成果
研究计划:
2009年10月12日-2009年12月25日:
按照任务书要求查阅论文相关参考资料,填写毕业设计开题报告书。
2010年1月11日-2010年3月5日:
填写毕业实习报告。
2010年3月8日-2010年3月14日:
按照要求修改毕业设计开题报告。
2010年3月15日-2010年3月21日:
学习并翻译一篇与毕业设计相关的英文材料。
2010年3月22日-2010年4月11日:
电路图设计。
2010年4月12日-2010年4月25日:
用MAX-plusⅡ进行仿真。
2010年4月26日-2010年5月21日:
毕业论文撰写和修改工作。
预期成果:
(1)以掌握知识为基础,培养能力为重点,提高素质为目标,培养创新能力,充分体现大纲的基本目标。
(2)掌握PLD需要了解两个部分:
PLD软件和PLD本身。
(3)理解数制和编码,PLD工作原理和器件的应用个特点。
(4)掌握软件的基本操作,时序分析验证设计的正确性。
特色或创新之处
①PLD发展很快,已由初期的低密度SPLD(如PAL/GAL)等,向高密度的CPLD发展。
②PLD可以完成任何数字器件的功能,上至高性能CPU,下至简单的74系列电路都可以利用PLD来实现。
已具备的条件和尚需解决的问题
①电路的设计已经完成,仿真结果也正确,说明总电路图不但正确而且具备了应有的功能。
②用VHDL语言设计的能力尚需加强。
指导教师意见
指导教师签名:
年月日
教研室(学科组、研究所)意见
该生查阅了大量的相关资料,设计方案合理,同意开题。
教研室主任签名:
年月日
系意见
主管领导签名:
年月日
英文原文
ntroducingtheVirtualDIYCalculator
Whenyoucometothinkaboutit,therearelotsof“applicationtype”computerbooksalongthelinesofLearnProf.CuthbertDribble’sVisualProgrammingV6.0In21Days(youoftenhaveonly21days,becausethat’swhenversion7.0ofthesoftwareisgoingtocomeout).Sadtorelate,however,therereallyaren’tmanytomes–outsideofmega-complexUniversitycourses–thatteachhowcomputersactuallywork.
Inordertoaddressthissadstateofaffairs,theauthorsdecidedtopentheirownhumbleoffering.Onepointweconsideredisthatit’saloteasiertolearnhowtodosomethingifyouactuallyhaveaspecificprojectinmind.
Forexample,ifsomeonesimplyhandsyouaplankofwood,asaw,ahammerandsomenails,youmighthangaroundforawhileponderingjustwhattodo.Butifyouarealsopresentedwiththeplansforasimplebirdtable,thenyoucanimmediatelyleapintothefraywithgustoandabandon.
Thus,wedecidedtobaseabook(detailsaregivenlater)ontheconceptofasimplecalculatorcalledtheDIYCalculator,thecunningpartofallofthisisthatwecreatedtheDIYCalculatorasavirtualmachinethatrunsonyourhomecomputer.Thisarticleisaspin-offfromthebookandisdesignedtogiveabriefintroductionastohowtheDIYCalculatorfunctions.
ComputersandCalculators
Initsbroadestsense,acomputerisadevicethatcanacceptinformationfromtheoutsideworld,processthatinformationusinglogicaland/ormathematicaloperations,makedecisionsbasedontheresultsofthisprocessing,andultimatelyreturntheprocessedinformationtotheoutsideworldinitsnewform.
Themainelementsformingacomputersystemareitscentralprocessingunit(CPU),itsmemorydevices(ROMandRAM)thatareusedtostoreprograms(sequencesofinstructions)anddata,anditsinput/output(I/O)portsthatareusedtocommunicatewiththeoutsideworld.TheCPUisthe“brain”ofthecomputer,becausethisiswhereallofthenumber-crunchinganddecision-makingisperformed.Read-onlymemory(ROM)hasitscontentshard-codedaspartofitsconstruction;bycomparison,inthecaseofrandomaccessmemory(RAM),youcanloadnewvaluesintoitandreadthesevaluesbackoutagainlater.
Theterm“bus”isusedtorefertoagroupofsignalsthatcarrysimilarinformationandperformacommonfunction.Acomputeractuallymakesuseofthreebusescalledthecontrolbus,addressbus,anddatabus.TheCPUusesitsaddressbusto“point”toothercomponentsinthesystem;itusesthecontrolbustoindicatewhetheritwishesto“talk”(output/write/transmitdata)or“listen”(input/read/receivedata);anditusesthedatabustoconveyinformationbackandforthbetweenitselfandtheothercomponents.Ourvirtualcomputerisequippedwithadatabusthatiseightbitswideandanaddressbusthatis16addressbustopointto216=65,536differentmemorylocations,whicharenumberedfrom0to65,535indecimal;or$0000to$FFFFinhexadecimal,wheretheconceptsofbinaryandhexadecimalarebrieflyintroducedalittlelaterinthisarticle.
Oncewe’veconceivedtheideaofageneral-purposecomputer,thenextstepistothinkofsomethingtodowithit.Infacttherearemillionsoftaskstowhichcom
puterscanbeassigned,buttheapplicationwe’reinterestedinhereisthatofasimplecalculator.Sowhatdoesittaketocoerceacomputertoadopttheroleofacalculator?
Well,onethingwerequireissomeformof
userinterface,whichwillallowustopresentdatato–andviewresultsfrom–thecomputer(Figure1).
Figure1.Themainelementsformingacomputer-calculator
Thecalculator’suserinterfaceprimarilyconsistsofbuttonsandsometypeofdisplay.Eachbuttonhasauniquebinarycodeassociatedwithit,andthiscodewillbepresentedtothecomputer’sinputportwheneverthatbuttonispressed.Meanwhile,oneofthecomputer’soutputportscanbeusedtodrivethedisplayportionoftheinterface.
ASimpleTestCase
Inamomentwe’regoingtocreateourownprogram,butbeforewestart,weneedtounderstandthatcomputersstoreandmanipulatedatausingthebinarynumbersystem,whichcomprisesjusttwodigits:
0and1.Onewire(orregisterbit/memoryelement)canbeusedtorepresenttwodistinctbinaryvalues:
0or1;twowirescanrepresentfourbinaryvalues:
00,01,10,and11;threewirescanrepresenteightbinaryvalues:
000,001,010,011,100,101,110,and111;andsoon.Asourvirtualcomputerhasan8-bitdatabus,thiscanbeusedtorepresent256differentbinaryvaluesnumberedfrom0to255indecimalor%00000000to%11111111inbinary(wherethe“%”symbolisusedtoindicateabinaryvalue).
Theproblemisthathumanstendtofinditdifficulttothinkintermsoflongstringsof0sor1s.Thus,whenworkingwithcomputers,wetendtopreferthehexadecimalnumbersystem,whichcomprises16digits:
0through9andAthroughFasshowninFigure2.
Figure2.Binaryandhexadecimal
Inthiscase,weuse“$”characterstoindicatehexadecimalvalues.Eachhexadecimaldigitdirectlymapsontofourbinarydigits(andviceversaofcourse).Thisexplainswhywenotedearlierthatour16bitaddressbuscouldbeusedtopointto216=65,536differentmemorylocations,whicharenumberedfrom$0000to$FFFFinhexadecimal.
TheAccumulator(ACC)andStatusRegister(SR)
Therearejustacouplemorethingsweneedtoknowbeforeweplungeheadfirstintothefray.Amongstotherthings,ourCPUcontainstwo8-bitregisterscalledtheaccumulator(ACC)andthestatusregister(SR).(Inthiscontext,theterm“register”referstoagroupofmemoryelements,eachofwhichcanstoreasinglebinarydigit.)
Asitsnameimplies,theaccumulatoriswheretheCPUgathers,or“accumulates”,intermediateresults.Inthecaseofthestatusregister,eachofitsbitsiscalledastatusbit,buttheyarealsocommonlyreferredtoasstatusflagsorconditioncodes,becausetheyservetosignal(flag)thatcertainconditionshaveoccurred.Wewillonlyconcernourselveswiththecarry(C)flagforthepurposesofourexampleprogram.
Sincewemaysometimeswishtoloadthestatusregisterfrom(orstoreitto)thememory,itisusualtoregardthisregisterasbeingthesamewidthasthedatabus(eightbitsinthecaseofourvirtualsystem).However,ourCPUemploysonlyfivestatusflags,whichoccupythefiveleast-significantbitsofthestatusregister.Thismeansthatthethr