您好,欢迎访问三七文档
1院系:计算机系专业:网络工程学号:100602103&100602104&100602110姓名:黄芍药&商媛媛&陈佳亮指导教师:帅辉明设计时间:2013.11.09-2013.11.10(标明本组的座位号,删去)南南京京理理工工大大学学紫紫金金学学院院2FIFO先进先出存储器实验一.实验目的了解及掌握先进先出(FIFO)存储器的工作特性及其读写方法。二.实验设备1.TDN-CM+或TDN-CM++教学实验系统一台。2.PC微机一台。三.实验原理本实验用isp1032芯片来实现一个简单的8位×4的FIFO,其信号引脚如图3.7-1:图3.7-1定义FIFO在1032中对应的管脚其各信号的功能为:EMPTY:FIFO存储器为空标志,高电平有效。FULL:FIFO存储器满标志,高电平有效。RST:清FIFO存储器为空。FIFOWR:FIFO存储器写入信号,低电平有效。FIFORD:FIFO存储器读信号,低电平有效。ID0~ID7:FIFO存储器输入数据线。OD0~OD7:FIFO存储器读出数据线。各信号后的括号内的数字为本设计在CPLD中定义的相应的管脚号。此8位×4MUX的内部逻辑图如下图3.7-2:图3.7-2FIFO内部逻辑图3四.实验步骤(1)编写cpld芯片设计程序按照上述功能要求及管脚说明,进行CPLD芯片设计。(2)编译所设计的程序,并将生成的JEDEC文件下载至ISPLSI1032中。(3)按图3.7-3实验连线图接线。(4)实验操作步骤接线图中OO1、OO2、OOE1、OOE2、OOEE1、OOEE2是六个观察记数的指示灯,其中OO1、OO2是写信号记数,OOE1、OOE2是读信号记数,OOEE1、OOEE2是FIFO中的数据个数。FULL及EMPTYy是满和空标志灯。实验时,将SWITCHUNIT单元中的SW-B开关置为“0”,然后拨动系统右下脚的CLR清零开关使读、写信号记数清零。给INPUTDEVICE单元中置一个数,按动START,此时将该数写入到FIFO中,依次写四次后,FULL满标志置位。此时再也写不进去;然后连续按动KK2-读信号,将顺序读出所存的四个数,数据总线显示灯及OUTPUTUNIT单元中的数码管显示所读出的数据。四个数全部读出后,EMPTYy空标志置位。检查执行结果是否与理论值一致。五、实验内容(包括顶层原理图、代码、硬件连线图)顶层原理图4硬件连线图图3.7-3FIFO实验接线图代码:MODULELS273CLK,RSTPIN;I7..I0PIN;O7..O0PINISTYPE'REG';I=[I7..I0];O=[O7..O0];EQUATIONSO.CLK=CLK;O:=I;ENDMODULEFIFOINPUTRST,FIFORD,FIFOWRPIN;5OUTPUTOEE1,OEE2,OEE3,FULL,EMPTYPINISTYPE'COM';OE1,OE2,OE3,O3,O2,O1PINISTYPE'REG';NODEW,FLAGGPINISTYPE'REG';C1,C2,C3,C4,C5,C6,C7,C8PINISTYPE'COM';OE=[OE3,OE2,OE1];O=[O3,O2,O1];OEE=[OEE3,OEE2,OEE1];EQUATIONSOE.CLK=FIFORD;O.CLK=FIFOWR;OE.AR=!RST;O.AR=!RST;W.CLK=FIFORD;W.AR=!RST#(!FIFOWR);W:=1;FLAGG.CLK=FIFOWR;FLAGG.AR=W&(!FIFORD)#(!RST)#(OEE==1)&(!FIFORD);FLAGG:=1;WHENOE==7THENOE:=0ELSEOE:=OE+1;WHENO==7THENO:=0ELSEO:=O+1;OEE=O-OE;C1=!FIFOWR&!O3&!O2&!O1;C2=!FIFOWR&!O3&!O2&O1;C3=!FIFOWR&!O3&O2&!O1;C4=!FIFOWR&!O3&O2&O1;C5=!FIFOWR&O3&!O2&!O1;C6=!FIFOWR&O3&!O2&O1;C7=!FIFOWR&O3&O2&!O1;C8=!FIFOWR&O3&O2&O1;EMPTY=(OE==O)&!FLAGG;FULL=(OE==O)&FLAGG;ENDMODULEMUX8INPUTOE1,OE2,CLKPIN;D07,D06,D05,D04,D03,D02,D01,D00PIN;D17,D16,D15,D14,D13,D12,D11,D10PIN;D27,D26,D25,D24,D23,D22,D21,D20PIN;D37,D36,D35,D34,D33,D32,D31,D30PIN;D47,D46,D45,D44,D43,D42,D41,D40PIN;D57,D56,D55,D54,D53,D52,D51,D50PIN;D67,D66,D65,D64,D63,D62,D61,D60PIN;D77,D76,D75,D74,D73,D72,D71,D70PIN;OUTPUTO7,O6,O5,O4,O3,O2,O1,O0PINISTYPE'REG';I0=[D07,D06,D05,D04,D03,D02,D01,D00];I1=[D17,D16,D15,D14,D13,D12,D11,D10];I2=[D27,D26,D25,D24,D23,D22,D21,D20];I3=[D37,D36,D35,D34,D33,D32,D31,D30];I4=[D47,D46,D45,D44,D43,D42,D41,D40];6I5=[D57,D56,D55,D54,D53,D52,D51,D50];I6=[D67,D66,D65,D64,D63,D62,D61,D60];I7=[D77,D76,D75,D74,D73,D72,D71,D70];OD=[O7,O6,O5,O4,O3,O2,O1,O0];OE=[OE3,OE2,OE1];EQUATIONSOD.CLK=!CLK;WHENOE==0THENOD:=I0;ELSEWHENOE==1THENOD:=I1;ELSEWHENOE==2THENOD:=I2;ELSEWHENOE==3THENOD:=I3;ELSEWHENOE==4THENOD:=I4;ELSEWHENOE==5THENOD:=I5;ELSEWHENOE==6THENOD:=I6;ELSEWHENOE==7THENOD:=I7;END比较(与8*4的FIFO相比)顶层原理图自定义元件FIFO不同:输入引脚:RST,FIFORD,FIFOWR;输出引脚:OEE1,OEE2,OEE3,FULL,EMPTY,OE1,OE2,OE3,O3,O2,O1,C1,C2,C3,C4,C5,C6,C7,C8;自定义元件MUX8不同:输入引脚:OE1,OE2,CLK,D07,D06,D05,D04,D03,D02,D01,D00,D17,D16,D15,D14,D13,D12,D11,D10,D27,D26,D25,D24,D23,D22,D21,D20,D37,D36,D35,D34,D33,D32,D31,D30,D47,D46,D45,D44,D43,D42,D41,D40,D57,D56,D55,D54,D53,D52,D51,D50,D67,D66,D65,D64,D63,D62,D61,D60,D77,D76,D75,D74,D73,D72,D71,D70;输出引脚:O7,O6,O5,O4,O3,O2,O1,O0;六、个人心得7经过一系列硬件课程的学习及相关实验后,对CPU实现方式有进一步了解;初步掌握芯片设计的方法,包括硬件描述程序和测试程序。通过这次的实验,我认识和熟悉了ISPLSI1032软件,很多关于电方面的元器件都可以用它来实现,这使得我们在使用的时候非常方便及多变。我还了解它的工作环境,进行常规的操作,快速进行程序编辑和仿真,操作此软件进行硬件仿真和软件仿真。实验名称是FIFO先进先出存储器。实验一开始挺顺利的,三人分工合作,很愉快,硬件连线很快且没有出错,接下来就是对顶层原理图的理解和绘制。理解在帅老师的帮助下也解决了,但是绘制就出了很大的问题,花了我们大部分的时间,首先我们对8*8FIFO存储器的原理图和工作原理并不怎么了解,这就给我们造成麻烦。后来经过各方面的咨询,我们知道了自定义元件怎么画的。原理图绘制成功后,测试验证比较成功。可是我们组最终的结果是实现8*4FIFO存储器,还是比较遗憾的。最后,我发现,在本次的课程设计中,这个课题看似有点陌生,但是真正做起来才发现不是那么困难。主要是因为以前做实验时老师对我们要求比较严格,锻炼很多,对软件和试验箱的用法比较熟悉。这次的课程设计让我学到了很多知识,不仅仅是对ISPLSI1032软件的学习,对学习编程有很大帮助,对CPLD和FPGA的相关知识也有更深的了解,同时也知道了硬件描述语言HDLABEL/VHDL/Verilog的语法规则,更有对做课程设计的熟练,通过相互学习中,我也学到了很多其他同学的方法及他们的一些知识,体会到了同学之间的团结。当然,也有老师的帮助及平时的教导。经过了课程设计,我也发现了自己的很多不足。但是通过自己的动手动脑,既增加了知识,又给了我专业知识以及专业技能上的提升,对提高自己的思维能力和操作能力有很大的帮助。同时我也会更加努力,认真学习,争取在以后的课程中做得更好!——100602103黄芍药在这个周末,我们进行了第二次硬件课程设计实验。周六上午半天老师主要介绍了ABEL语言,和软件的基本操作。经过自己的一番摸索,终于对ABEL语言有所了解,对软件操作也有所熟悉。从下午开始课程设计,我们小组做的是第二个实验--FIFO先进先出存储器实验。要求设计一个8*8的FIFO存储器,这个实验主要有三个模块:控制信号模块、寄存器模块、数据选择器模块都用ABEL语言设计。这个实验也有硬件连线部分,由于上个学期做过硬件的实验,所以在一开始的硬件连电路时还是很快就完成了。不过在接下来的编写代码的阶段里,还是出现了很大的问题,花费了很多的时间。刚开始在画顶层原理图的时候,因为不理解,所以我们一直在研究,纠结。最后在帅辉明老师的耐心细心的指导,终于理解了顶层原理图。并开始画顶层原理图,因为对这个软件还不是很熟悉,所以在画图上花了很多时间。因为老师给8的是8*4的FIFO参考图,所以在其基础上加了4个74L273,并在代码中做了修改。硬件和软件都完成好后,进行最后的测试阶段,但出现了很多问题。但经过大家的一步一步验证,一点一点改正。每一次的运行看到错误都在慢慢的减少,离要求的结果的也越来越接近,但最终也没有完全达到正确要求。本次设计包括软件和硬件上的调试。我想对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在设计中才发现,书本上理论性的东西与在实际用中还是有一定的出入的,所以有些问题不但要深入的理解,而且要不断的更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程中你会发现自己在飞速的提升。在这次实验中我也充分认识到团队合作的重要性,只有分工合作才能保证整个项目的有条不紊。另外在课程设计的时候,当我们遇到不明白的问题时,老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅,因此非常感谢帅老师的教导。通过这次课程设计,我懂得了学习的重要性,了解到理论知识与实践知识相结合的重要意义,学会了坚持,耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。-------网络一班100602104商媛媛在这个星期六星期天,我们做了硬件课程设计的实验。通过这次实验也让我对ABEL语言有所了解,对软件操作也有所熟悉。我们小组一共三个人,并选择了第二的实验课题——设计FIFO先进先出存储器。它的要求是要求我们要求设计一个8*8的FIFO存储器,这个实验主要有三个模块:控制信号模块、寄存器模块、数据选
本文标题:硬件课程设计报告
链接地址:https://www.777doc.com/doc-2227864 .html