《计算机组成原理课程设计-相联存储器的设计(共20页).doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计-相联存储器的设计(共20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上沈阳航空航天大学 课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:相联存储器的设计与实现院(系):计算机学院专 业:物联网技术方向班 级:物联1305学 号:姓 名: 指导教师:完成日期:2016年1月15日专心-专注-专业目 录第1章 总体设计方案1.1 设计原理相联存储器不按地址寻址而按照内容寻址,相联存储器由检索寄存器CR、屏蔽寄存器MR、存储体和结果寄存器SRR构成。设存储器有8个字,8位,则CR与MR为1字8位,将要检索的内容输入到检索寄存器CR中,用屏蔽寄存器MR屏蔽掉存储体中不参与比较的位数,其余比较位不变,将这个结果与检索寄存器
2、比较,将结果送入结果寄存器保存,根据结果寄存器的数据可以得到符合检索寄存器的数据所在的存储区域,原理如图1。检索寄存器比较电路屏蔽寄存器存储体结果寄存器图 1 相联存储器原理图1.2 设计思路检索寄存器(CR):存放要检索的数据,位数与存储器字长一致。屏蔽寄存器(MR):与CR配合使用,检索位置为1,其余不参与比较的位设为0,位数与存储体字长一致,与存储体里的数据相与,得到的结果送入结果寄存器保存。存储体:由3-8译码器选择地址输入数据,是8乘8的结构。结果寄存器:存放检索寄存器和屏蔽寄存器相与的结果。若存储体存的八个存储单元分别存着数据为: 、 、,CR中存储的数据为,MR存的数据是,经过比
3、较可以发现第三个和第五个存储单元符合CR,所以输出,见图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计算机组成原理实验系统由实验平台、开关电源、软件三大部
4、分组成,试验台上有寄存器组R0-R3、运算单元、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储单元、微地址寄存器、指令寄存器、微程序寄存器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个按键、字符式LCD、RS232口,如图3。图3 COP2000计算机组成原理集成调试软件EDA环境:Xilinx foundation f3.1设计软件、COP2000仿真软件。Xilinx foundation f3.1是Xinlinx公司的可编程器件开发工具,该平台功能强大,主要用于百万逻辑门的设计。该系统由设计入口工具、设
5、计实现工具、设计验证工具三大部分组成。设计入口工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL)编辑器、LogiBLOX模块生成器、Xilinx内核生成器等软件。其功能是:接收各种图形或文字的设计输入,并最终生成网络表文件。设计实现工具包括流程引擎、限制编辑器、基片规划器、FPGA编辑器、FPGA写入器等软件。实际实现工具用于将网络表转化成配置比特流,并下载到器件。设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行验证,并详尽分析各个时序限制的满足情况,如图4.图4 Xilinx foundation f3.1设计平台第2章 详细设计方案2.
6、1 总体方案的设计与实现 本设计方案以原理图输入凡事设计出顶层方案图,以此实现相联存储器相关的逻辑功能,在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软件环境下进行软件的设
7、计,实现顶层图形文件。2.1.2 器件的选择与引脚锁定器件的选择:由于提供的硬件设计环境是基于伟福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
8、11 0 0 1 0 0 0 0 01 1 01 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芯片
9、指定的因脚伤,实现芯片的引脚锁定,各信号及Xilinx XCV200芯片引脚对应关系如表4。表4 芯片引脚对应图相联存储器内部信号XCV芯片引脚相联存储器内部信号XCV芯片引脚I50P33I4P213I51P34I0P79I52P35I1P80I53P36I2P81I54P38I3P146I55P39I8P103I56P40O10P147I57P41O11P152 I60P56O12P178I61P55O13P184I62P54O14P185I63P53O15P203I64P50O16P111I65P49O17P110I66P48 I72P65I67P47I73P66 I70P63I74P73
10、I71P642.2 功能模块的设计与实现本相联存储器是由检索寄存器、屏蔽寄存器、存储体、结果寄存器组成,各部分元件均分别单独实现功能并仿真成功之后再将各部分模块进行连接,经整体整合仿真成功后,完成了所需的电路实体。2.2.1 检索寄存器的设计与实现功能描述:检索寄存器的字长为8位,用于存放要检索的数据,本方案采用一个8位的D触发器实现,如图8。图 8 检索寄存器电路图2.2.2 屏蔽寄存器的设计与实现屏蔽寄存器字长与存储器字长一致8位,它的作用是将不参与比较的位屏蔽,屏蔽寄存器本身与比较位对应的位为1,其他位为0,当其与存储单元相与时比较位保留,其他无关位置0。电路见图9。图9 屏蔽寄存器电路
11、图2.2.3 存储体的设计与实现存储体通过3-8译码器D3-8E对8个D触发器实现编址功能,将输入的二进制数依次存储到寄存器中。与屏蔽寄存器配合使用来对数据进行检索。电路图见图10。图10 存储体电路图 2.2.4 比较器的设计与实现比较器模块只要是将存储体单元和屏蔽寄存器相与的结果和检索寄存器比较,所比较结果相同则通过COMP8芯片输出高电平,如果不同则输出低电平,将数据输入到结果寄存器存放,电路图见图11。图11 比较寄存器电路图2.2.5与门芯片的设计与实现本课设采用存储单元与屏蔽寄存器相与的结果和检索寄存器比较的方式进行检索,而数据通过总线传输不能直接用与门直接相与,所以要涉及到总线相
12、与逻辑芯片的封装,每一个双总线相与芯片里面封装了八个与门,电路图见图12图13。图12 总线相与芯片封装图图13 总线相与内部电路图第3章 程序调试与结果测试3.1 程序调试最初设计时理想的检索寄存器CR和屏蔽寄存器配合使用是输入要检索的数据到CR中,然后MR自动生成0和1,1对应于检测位,0对应于不参与检测位,将VCC接入MR寄存器的,数据线,用CLR控制数据的输入与输出,但是仿真的时候总是显示总线冲突,所以放弃了这个想法,所以最终是手动输入屏蔽码。3.2 程序测试及结果分析 要检索的内容为10XXXXXX,输入检索码(80H),屏蔽码(C0H),用I0,I1,I2作为地址线,向存储体输入数
13、据分别为(ABH),(ACH),(12H),(34H),(56H),(23H),(13H),(02H)则第一和第二个存储单元符合检索条件所以对应的数据输出为1其余输出0,I3表示存储体输入的时钟信号I8表示结果寄存器的时钟信号,由此可知图14的仿真结果正确。图14 仿真波形图利用COP2000仿真软件的变成下载功能,将得到sunsi.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。利用XCV200实验板进行硬件功能测试。相联存储器的输入数据通过XCV200实验板的输入开关实现,输出数据听过XCV200实验板的LED指示灯实现,利用表5的输入参数作为输入数据,诸葛测试输出结果,
14、即用XCV200实验板的开关K20、K21、K22控制输入数据,开关K00K07控制输入寄存器的内容输入,同时观察A0A7的输出得到测试结果。 表5 硬件测试结果输入信号输出信号K00-K07K10-K17K22K21K20CLKA0-A700010011010101111001101111011111检索寄存器存的数是0F,存储体中的数分别是08,09,10,11,0F,13,10,11。对表5的数据与图15的内容进行对比,可以看出硬件测试结果是,对应于十六进制数是10,由此可以看出测试结果是争取的,说明电路设计正确合理。图15为仿真下载的结果。图15 仿真下载结果1周大海.计算机组成原理实
15、验与课程设计教程M.北京:北京航空航天大学出版社,20152范延滨.微型计算机系统原理、接口与EDA设计技术M.北京:北京邮电大学出版社,20063王爱英.计算机组成与结构 M.北京:清华大学出版社,20064白中英.计算机组成原理 M.科学出版社,20085郑纬民.计算机系统结构M.北京:清华大学出版社,19926胡越明.计算机组成与设计M.北京:科学出版社,20067曹昕燕.EDA技术实验与课程设计M.北京:清华大学出版社,20068唐朔飞.计算机组成原理(第二版)M.北京:高等教育出版社,2008参考文献附 录(源代码) 课程设计总结:经过两周的努力,终于完成了这学期的计算机组成原理的课
16、程设计虽然只有两周,却感觉学到了很多东西,这两周的实际操作把课堂中学到的理论知识运用起来解决实际问题,在相联存储器的实际过程中约到了如下问题:首先是软件方面的问题,因为之前没有用过fouandation f3.1,所以在课设过程中遇到了很多问题,但是通过查书和反复练习摸索慢慢熟练掌握了软件的使用。其次是数据总线的使用问题开始仿真结果总是显示不确定,后来询问了其他同学才得知需要对总线命名才可以正常使用,否则总线混乱当然结果不正确。然后是芯片的选用问题,因为要设计8乘8的存储体如果用普通触发器需要64片,大大增加了电路的连接难度,后来在网上查找相关的论文,使用8位的触发器就只需要8片节省了很多时间。总之,这次课设让我收获很多,也感谢老师的指导和同学的热情帮助,给我很多好的建议。指导教师评语:指导教师(签字): 年 月 日课程设计成绩