资源描述:
《谢非佚专业实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、专业实验实验报告实验名称:专业实验学院:电子工程学院学号:08211063班内序号:18姓名:谢非佚实验指导老师:刘丽华报告提交日期:2011-11-11_、实验要求:a.基本要求:依照实验内容做实验,必须将实验在规定时间内完成。在对CPU整个系统进行语言级功能仿真结果正确之后,对其中的控制块逬行综合,检查其功耗和最高工作速度,进行门级仿真,并且保证门级仿真结果正确之后,进行控制器模块的版图设计及验证。b.更高要求(可选):完成整个CPU的版图设计或者完成一个帧同步检测电路的版图设计。备注:我的实验只完成了基本要求”所以接下来的实验报告里没有更高
2、要求的内容。二、实验内容及实验原理:本实验完成一个8位RISI_CPU(RISC:ReducedInstructionSetComputer)系统。它是一种80年代才出现的CPU,与一般的CPU相比,不仅只是简化了指令系统,而且通过简化指令系统使计算机的结构更加简单合理,从而提高了运算速度。从实现的方法上,它的时序控制信号部件使用了硬布线逻辑,而不是采用微程序控制方式,因为省去了读取指令的时间,故产生控制序列的速度要快得多。它由八个独立的逻辑部件所组成:(6)Memory(1)时钟发生器(5)控制器(2)指令寄存器三、实验过程:整个实验的内容分成
3、两大部分。第一Wl.Verilog语言级仿真溺星:1)创建一个目录,把此次仿真所需要用的所有内容都放入此目录内。2)编写电路文件和测试文件。3)用verilog-cfilename进行语法检查,用verilogtest_filenamecircuit_filename-s+gui进行交互式仿真,用verilog-frun.f按批处理的方式作仿真。用verilog语言,通过语言级的描述,实现上述八个独立的逻辑部件其中的七个部件(时钟发生器是直接从库里拷贝过来的),而其中指令寄存器和累加器又是同一个类型的部件。所以只需编辑六个模块的verilog文件
4、。分别是:Labi:简单的组合逻辑设计(地址选择器)Lab2,3:简单时序逻辑电路的设计(程序计数器和register,即累加器和指令寄存器)Lab4:用always块实现较复杂的组合逻辑电路(ALU)Lab5:存储器电路的设计(Memory)Lab7:利用有限状态机进行复杂时序逻辑的设计(控制器)然后,再利用模块调用,把八个分立的模块部件组合成一个完整的RISI.CPU,并且进行仿真测试。以上是第大部分的内容。实验中遇到的问题1:在第一大部分中,从Labi到Lab7,基本都没有遇到什么问题,但是在Lab8里发现八个部分组合成的CPU的测试结果不
5、正确,当天的上午调试了一天都没有得岀正确的结果。检查cpu的连线没有问题,而Labi到Lab7的每f模块都进行测试验证过,都没有问题。一直到了下午才发现是一处的a与b调换了位置导致的。当时在Labi中,在输入时/我将第一行modulemux(out,seizb,a)打成了modulemux(outzseiza,b);其他的原封不动。在Lab8里调用mux时,也是原封不动的copy上去z这时z系统会认为pc_addr是接在a上而不是b上,这样就导致了做CPU测试时发生错误。也就是说.b(pc_addr)这样的语句并不能将pc_addr接在b上。Pc
6、_addr接在模块的哪个接口,关键还是看b(pc_addr)或者直接是pc.addr在模块的什么位置。之后/我把modulemux(outxseiza,b)改回modulemux(out,sei,bza),程序就可以正常的运行了。之后我们编写了一个做Ix2x3x4x5的程序,一开始想用循环来实现,但是由于CPU没有乘法功能和CPU只有一个累加器,所以改变算法,用累加的方式实现阶乘下面是程序部分:LDAaSTOaADDaADDaLDAaADDaSTOaADDaADDaLDAaSTOaADDaADDaLDAaADDaADDaADDaSTOa第二部分对
7、其中的控制器controller进行门级电路综合、布局布线和制版图,并进行版图后仿真。2•综合过程:1)建立好filename.tcl约束文件。2)启动综合工具。3)进行门级电路仿真。实验中遇到的问题2在门级仿真时我们发现即使前面语言级仿真正确了,到了门级电路仿真也不一定正确。我们在编写状态机时没有考虑到功能冒险的问题,导致门级电路仿真出错,在老师的提醒下,我们把错误改正过来了。3版图设计流程:1)DesignSetup2)Floorplanning3)Timingsetup4)Placement5)CTS6)Routing之后的实验都是按照书上
8、的步骤来,但是有几点要注意,这也是我们组岀现的问题(实验中遇到的问题3):Jo文件中的空格是十分重要的,每一个空格都不能漏掉。通过观察初