《相联存储器的设计.doc》由会员分享,可在线阅读,更多相关《相联存储器的设计.doc(20页珍藏版)》请在三一办公上搜索。
1、 课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:相联存储器的设计与实现学院: 专业: 年级: 指导老师: 学生姓名: 日期: 目 录第1章 总体设计方案11.1设计原理11.2设计思路21.3设计环境3第2章 详细设计方案52.1 总体方案的设计与实现52.1.1 创建顶层图形设计文件52.1.2 器件的选择与引脚锁定52.2 功能模块的设计与实现82.2.1 检索寄存器的设计与实现82.2.2 屏蔽寄存器的设计与实现92.2.3 存储体的设计与实现92.2.4 比较器的设计与实现102.2.5与门芯片的设计与实现11第3章 程序调试与结果测试133.1 程序调试13
2、3.2 程序测试及结果分析13参考文献16总结18第1章 总体设计方案1.1 设计原理相联存储器不按地址寻址而按照内容寻址,相联存储器由检索寄存器CR、屏蔽寄存器MR、存储体和结果寄存器SRR构成。设存储器有8个字,8位,则CR与MR为1字8位,将要检索的内容输入到检索寄存器CR中,用屏蔽寄存器MR屏蔽掉存储体中不参与比较的位数,其余比较位不变,将这个结果与检索寄存器比较,将结果送入结果寄存器保存,根据结果寄存器的数据可以得到符合检索寄存器的数据所在的存储区域,原理如图1。检索寄存器比较电路屏蔽寄存器存储体结果寄存器图 1 相联存储器原理图1.2 设计思路检索寄存器(CR):存放要检索的数据,
3、位数与存储器字长一致。屏蔽寄存器(MR):与CR配合使用,检索位置为1,其余不参与比较的位设为0,位数与存储体字长一致,与存储体里的数据相与,得到的结果送入结果寄存器保存。存储体:由3-8译码器选择地址输入数据,是8乘8的结构。结果寄存器:存放检索寄存器和屏蔽寄存器相与的结果。若存储体存的八个存储单元分别存着数据为: 00100110、11011001 11110101、11000011、10010101、01100010、11000011、00101001,CR中存储的数据为00010100,MR存的数据是00011100,经过比较可以发现第三个和第五个存储单元符合CR,所以输出001010
4、00,见图2。001010000 0 1 0 0 1 1 01 1 0 1 1 0 0 11 1 1 1 0 1 0 11 1 0 0 0 0 1 11 0 0 1 0 1 0 10 1 1 0 0 0 1 01 1 0 0 0 0 1 10 0 1 0 1 0 0 1 X X X 1 0 1 X X CR 0 0 0 1 1 1 0 0 MR SRR图2 相联存储器工作原理图1.3 设计环境 硬件环境:伟福COP2000型计算机组成原理试验仪、XCV200实验板、XP系统计算机。COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成,试验台上有寄存器组R0-R3、运算单元
5、、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储单元、微地址寄存器、指令寄存器、微程序寄存器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个按键、字符式LCD、RS232口,如图3。图3 COP2000计算机组成原理集成调试软件EDA环境:Xilinx foundation f3.1设计软件、COP2000仿真软件。Xilinx foundation f3.1是Xinlinx公司的可编程器件开发工具,该平台功能强大,主要用于百万逻辑门的设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。设计入口
6、工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL)编辑器、LogiBLOX模块生成器、Xilinx内核生成器等软件。其功能是:接收各种图形或文字的设计输入,并最终生成网络表文件。设计实现工具包括流程引擎、限制编辑器、基片规划器、FPGA编辑器、FPGA写入器等软件。实际实现工具用于将网络表转化成配置比特流,并下载到器件。设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行验证,并详尽分析各个时序限制的满足情况,如图4.图4 Xilinx foundation f3.1设计平台第2章 详细设计方案2.1 总体方案的设计与实现 本设计方案以原理图输
7、入凡事设计出顶层方案图,以此实现相联存储器相关的逻辑功能,在XCV2000可编程逻辑芯片上实现电路。在Xilinx foundation f3.1开发环境上设计好电路图,把输入/输出信号分别定位到XCV2000芯片指定的引脚上,完成芯片的引脚锁定。2.1.1 创建顶层图形设计文件根据相联存储器的相关功能,顶层设计文件由以下器件组成:11个D触发器(FD8CE),1个3-8译码器(D3-8E),8个比较器(COMP8),30个输入端口和8个输出端口封装而成的一个完整的设计实体。该方案在Xilinx foundation f3.1软件环境下进行软件的设计,实现顶层图形文件。2.1.2 器件的选择与
8、引脚锁定器件的选择:由于提供的硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,因此采用目标芯片为Xilinx XCV200可编程逻辑芯片。3-8译码器芯片如图5所示,功能表见表1。图5 3-8译码器芯片表1 3-8译码器功能表A0 A1 A2 ED7 D6 D5 D4 D3 D2 D1 D00 0 01 0 0 0 0 0 0 0 1 0 0 11 0 0 0 0 0 0 1 00 1 01 0 0 0 0 0 1 0 00 1 11 0 0 0 0 1 0 0 01 0 01 0 0 0 1 0 0 0 01 0 11 0 0 1 0 0 0 0 01 1 0
9、1 0 1 0 0 0 0 0 01 1 11 1 0 0 0 0 0 0 0 X X X0 0 0 0 0 0 0 0 0FD8CE触发器如图6所示,功能表见表2。图6 FD8CE触发器芯片表2 FD8CE触发器功能表CECPCLRQ7:01上升沿0Q7:0=D7:00上升沿0不变XX1Q7:0=00H比较器芯片COMP8如图7功能表见表3。图7 比较器芯片COMP8 表3 比较器COPM8功能表A7:0=B7:0EQ=1A7:0!=B7:0EQ=0引脚锁定:根据引脚分配表,把顶层图形文件中的输入/输出信号依次安排到Xilinx XCV200芯片指定的因脚伤,实现芯片的引脚锁定,各信号及Xi
10、linx XCV200芯片引脚对应关系如表4。表4 芯片引脚对应图相联存储器内部信号XCV芯片引脚相联存储器内部信号XCV芯片引脚I50P33I4P213I51P34I0P79I52P35I1P80I53P36I2P81I54P38I3P146I55P39I8P103I56P40O10P147I57P41O11P152 I60P56O12P178I61P55O13P184I62P54O14P185I63P53O15P203I64P50O16P111I65P49O17P110I66P48 I72P65I67P47I73P66 I70P63I74P73I71P642.2 功能模块的设计与实现本相联
11、存储器是由检索寄存器、屏蔽寄存器、存储体、结果寄存器组成,各部分元件均分别单独实现功能并仿真成功之后再将各部分模块进行连接,经整体整合仿真成功后,完成了所需的电路实体。2.2.1 检索寄存器的设计与实现功能描述:检索寄存器的字长为8位,用于存放要检索的数据,本方案采用一个8位的D触发器实现,如图8。图 8 检索寄存器电路图2.2.2 屏蔽寄存器的设计与实现屏蔽寄存器字长与存储器字长一致8位,它的作用是将不参与比较的位屏蔽,屏蔽寄存器本身与比较位对应的位为1,其他位为0,当其与存储单元相与时比较位保留,其他无关位置0。电路见图9。图9 屏蔽寄存器电路图2.2.3 存储体的设计与实现存储体通过3-
12、8译码器D3-8E对8个D触发器实现编址功能,将输入的二进制数依次存储到寄存器中。与屏蔽寄存器配合使用来对数据进行检索。电路图见图10。图10 存储体电路图 2.2.4 比较器的设计与实现比较器模块只要是将存储体单元和屏蔽寄存器相与的结果和检索寄存器比较,所比较结果相同则通过COMP8芯片输出高电平,如果不同则输出低电平,将数据输入到结果寄存器存放,电路图见图11。图11 比较寄存器电路图2.2.5与门芯片的设计与实现本课设采用存储单元与屏蔽寄存器相与的结果和检索寄存器比较的方式进行检索,而数据通过总线传输不能直接用与门直接相与,所以要涉及到总线相与逻辑芯片的封装,每一个双总线相与芯片里面封装
13、了八个与门,电路图见图12图13。图12 总线相与芯片封装图图13 总线相与内部电路图第3章 程序调试与结果测试3.1 程序调试最初设计时理想的检索寄存器CR和屏蔽寄存器配合使用是输入要检索的数据到CR中,然后MR自动生成0和1,1对应于检测位,0对应于不参与检测位,将VCC接入MR寄存器的,数据线,用CLR控制数据的输入与输出,但是仿真的时候总是显示总线冲突,所以放弃了这个想法,所以最终是手动输入屏蔽码。3.2 程序测试及结果分析 要检索的内容为10XXXXXX,输入检索码10000000(80H),屏蔽码11000000(C0H),用I0,I1,I2作为地址线,向存储体输入数据分别为101
14、01011(ABH),10101100(ACH),00010010(12H),00110100(34H),01010110(56H),00100011(23H),00010010(13H),00000010(02H)则第一和第二个存储单元符合检索条件所以对应的数据输出为1其余输出0,I3表示存储体输入的时钟信号I8表示结果寄存器的时钟信号,由此可知图14的仿真结果正确。图14 仿真波形图利用COP2000仿真软件的变成下载功能,将得到sunsi.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。利用XCV200实验板进行硬件功能测试。相联存储器的输入数据通过XCV200实验板的
15、输入开关实现,输出数据听过XCV200实验板的LED指示灯实现,利用表5的输入参数作为输入数据,诸葛测试输出结果,即用XCV200实验板的开关K20、K21、K22控制输入数据,开关K00K07控制输入寄存器的内容输入,同时观察A0A7的输出得到测试结果。 表5 硬件测试结果输入信号输出信号K00-K07K10-K17K22K21K20CLKA0-A7000011110000100000010000000000001111000010010011000000000000111100010000010100000000000011110001000101110000000000001111000
16、01111100100010000000011110001001110110001000000001111000100001101000100000000111100010001111100010000检索寄存器存的数是0F,存储体中的数分别是08,09,10,11,0F,13,10,11。对表5的数据与图15的内容进行对比,可以看出硬件测试结果是00010000,对应于十六进制数是10,由此可以看出测试结果是争取的,说明电路设计正确合理。图15为仿真下载的结果。图15 仿真下载结果参考文献 1周大海.计算机组成原理实验与课程设计教程M.北京:北京航空航天大学出版社,20152范延滨.微型计算
17、机系统原理、接口与EDA设计技术M.北京:北京邮电大学出版社,20063王爱英.计算机组成与结构 M.北京:清华大学出版社,20064白中英.计算机组成原理 M.科学出版社,20085郑纬民.计算机系统结构M.北京:清华大学出版社,19926胡越明.计算机组成与设计M.北京:科学出版社,20067曹昕燕.EDA技术实验与课程设计M.北京:清华大学出版社,20068唐朔飞.计算机组成原理(第二版)M.北京:高等教育出版社,2008附 录(源代码) 总结转眼间两周的课程设计结束了,看似很长的时间真正的做起事来并不感觉时间充足。在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。这次的课程设计是我懂得了看似简单的东西其实并不简单,因为这正处理起来许多细节的东西都必须考虑。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础