计算机组成原理相联存储器的设计_第1页
计算机组成原理相联存储器的设计_第2页
计算机组成原理相联存储器的设计_第3页
计算机组成原理相联存储器的设计_第4页
计算机组成原理相联存储器的设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空航天大学课程设计报告目 录第1章总体设计方案21.1 设计原理21.2 设计思路31.3 设计环境4第2章详细设计方案52.1 顶层方案图的设计与实现 52.1.1 创建顶层图形设计文件 52.1.2 器件的选择与引脚锁定 52.1.3 编译、综合、适配62.2 功能模块的设计与实现72.2.1 输入寄存器的实现72.2.2 存储体的设计与实现82.2.3 数字比较器的实现 102.2.4 查找结果寄存器的实现 122.3 仿真调试13第3章 编程下载与硬件测试 153.1 编程下载153.2 硬件测试及结果分析15参考文献17附 录(电路原理图)18-1-沈阳航空航天大学课程设计报告

2、错误!未指定书签。-17-第1章总体设计方案1.1 设计原理相联存储器(content addressed memory ),它是一种按内容访问的存储器, 可以根据数据记录地一部分内容查找其它部分的内容。在相联存储器中,每个存 储的数据记录都是固定长度的字,每个字由若干字段组成,每个字段描述了用一 个对象的属性,也称一个内容。相联存储器的结构框图如图1.1所示。输入寄存器(cr)数字比较器译码选择电路查找结果寄存器(s图1.1相联存储器原理框图它主要实现将输入寄存器(cr)的信息与存储体的信息作比较,相匹配的置为 1”,不匹配的置为“0”,将结果送入查找结果寄存器(srr)中,并输出结果。1.

3、2 设计思路根据相联存储器的原理特点,即按照内容寻址,因此可以将相联存储器分为 以下几个部分:输入寄存器,译码选择电路,存储体,数字比较器,查找结果寄 存器。输入寄存器(cr):用来存放检索字,其位数和相联存储器的字长相等。译码选择电路:用3 8译码器进行译码电路选择,如当置输入端b2b1b吻“000”,时钟脉冲信号为高电位时,可以向存储体第一个单元地址输入八位二进 制的字信息,同时其他的存储单元的信息被屏蔽掉。当置输入端b2b1b0为“001”时,时钟信号为高电位时,可以向存储体第二个单元地址输入八位二进制的字信 息,同时其他的存储信号单元被屏蔽掉。存储体(amu:用于存放待检索的数据,由八

4、个八位二进制存器构成,以便 快速存取。数字比较器:将检索的内容和从存储体中读出的所有单元内容的相应位进行 比较,如果有某个存储单元的信息和检索项一致,就把符合寄存器的相应位置 “1”,表示该字匹配 ;否则置“0”,表示不匹配。查找结果寄存器(srr:用来存放待检索项与存储体的信息中相符合的单元 的寄存器地址,其位数等于相联存储器的存储单元总数,每一位对应一个存储单 元,位的序列数即为相联存储器的单元地址。设存储体由8个字构成,字长为8位的二进制数。cr为比较寄存器,字长也 为8位,存放要比较的两个数。首先向输入寄存器输入一个八位二进制的字,然后通过38译码器选择电路依次将八个八位二进制数输入到

5、存储体中。将输入到 输入寄存器的字通过比较寄存器分别与存储体里的八个字检索比较,若匹配,则 输出信号置1,否则置0o匹配信号通过查找结果寄存器(srr输出,我们就能 找到匹配的那个字。若存储体八个单元存储的数据分别为0000000、00000001、00000010、00000011、0000010(1 00000101、00000110, 00000111,输入寄存器中的存储数 据是00000011,通过比较器cr进行比较之后,可以知道发现检索数据与存储体 中的第四个单元的内容一致,所以结果查找寄存器sr的第四个单元置为“ 1 ” ,其余的置“0”,则匹配结果输出为:00001000。1.3

6、设计环境硬件环境:伟福cop2000型计算机组成原理实验仪、xcv200实验板、微 eda 环境:xilinx foundation f3.1 设计软件、cop2000仿真软件。指号亲统| m版程序跟总图 1.2 xilinx foundation f3.1 设计平台般系3e布京伟福实业行根餐f ttt, vat_cn_ cmm回闪文怦(e) 初s 63 汇编!(a3 运行cfi? 帮助qd理a飘1包国h 占句 向i mi 叁eicfll i * asm 猩中i牯构图|团示棺助i ms沿析ida cid an no 口 hr on mth% 1 0 dd uu dd dc q 60 d co

7、i 20 u幅 mu wv hu 13u uu uu uo i sn on oa mo on on rr no n |q dd co dd co dd oq dd do d /mi qu uu jo uu urn hu y uu i 661 mo na no an nn on hr no m 70 bb nn bb an br gc bb oa n uu g uu on mm aa mu 90 励励 eo。励 so00 oo fun 日。nn sin nn 口国 en hh 0 i bo dd uu qd oc dd (so d so i c6 uo uu 号均 uu。塔 0u vu h0 1

8、 7图1.3 cop2000计算机组成原理集成调试软件第2章详细设计方案2.1 顶层方案图的设计与实现该设计方案采用自上而下的设计方法,顶层设计使用原理图设计输入方式,以此实现相联存储器相关的逻辑功能,在xcv200可编程逻辑芯片上实现电路。在xilinx foundation f3.1开发环境上设计好电路图,把输入/输出信号分别定位到 xcv200芯片指定的引脚上,完成芯片的引脚的锁定。2.1.1 创建顶层图形设计文件构成顶层图形文件的元器件如下表2.1表2.1兀器件使用元器件数目fd8ce103_8译码器1comp88输入端口20输出端口8vcc3gnd1总线及导线由上述元器件封装而成一个

9、完整的设计实体。该方案在xilinx foundation f3.1软件环境下进行软件的设计,实现顶层图形文件2.1.2 器件的选择与引脚锁定(1)器件的选择由于所提供的硬件设计环境是基于伟福cop2000型计算机组成原理实验仪和xcv200实验板,因此采用的目标芯片为 xilinx xcv200可编程逻辑芯片。(2)引脚锁定根据引脚分配表,把顶层图形文件中的输入/输出信号依次安排到xilinxxcv200芯片指定的引脚上,实现芯片的引脚锁定,各信号及xilinx xcv200芯片引脚对应关系如表2.1所示表2.2信号和芯片引脚对应关系相联存储器内部信号xcv200芯片引脚ibus0p103i

10、bus1p102ibus2p101ibus3p100ibus4p97ibus5p96ibus6p95ibus7p94b0p73b1p72b2p71ambus0p87ambus1p86ambus2p85ambus3p84ambus4p82ambus5p81ambus6p80ambus7p79clockp213obus0p110obus1p111obus2p203obus3p185obus4p184obus5p178obus6p152obus7p1472.1.3 编译、综合、适配利用xilinx foundation f3.1设计软件对顶层图形文件进行编译,并尽量调 整各器件和线的位置使其合理美观

11、,连接完毕后进行仿真,待仿真成功后编译文 件,编译成功后即可将文件下载到芯片中。2.2 功能模块的设计与实现本相联存储器是由输入寄存器,选择比较电路,比较寄存器,存储体,查找 结果寄存器组成的,设有20个输入端口和8个输出端口实现其输入和输出。各部 分元件均分别单独实现功能并仿真成功之后,再将各部分模块进行连接,经整体 整合仿真成功后,完成了所需电路实体。2.2.1 输入寄存器的实现输入寄存器是用一个元器件 fd8ce组成。fd8ce的字长为八位,用于存放 检索数据,本方案用一个8位的d触发器来组成fd8ce。(1)输入寄存器的结构图如下图2 .1所示fd8ceq7:0k ce图2.1输入寄存

12、器图模块2.2.2 fd8ce的实现一个fd8ce是使用八个1位d触发器构成的,每个1位d触发器存储一个二进制数,电路图如下图2.2所示.口 |图2.2八位输入寄存器内部结构图2.2.3 存储体的设计与实现该存储体一共由8个寄存器(fd8ce)组成,每个寄存器的字长为8位。利 用38译码器的输出端分别控制8个寄存器的ce使能端,使之可以分别对每一 个存储器进行写入操作。例如:38译码器输入端b0,b1,b2为010时,其输出 端d2输出为“1”,使得与d2端相连的寄存器的使能端为“ 1”,并且clk信号 为高电位时,即可将数据总线 ambus7ambus0的数据输入到该寄存器中。如 此可以最终

13、实现对8个寄存器的分别写入操作。(1)存储体的电路图如下图2.3所示ambuspianoq07 期mf4 rj -nivoiire4411ntrr ni卜一w*tl-r uj4 -wj入一ru& f7 eu口i* ujbq7r0j图2.3存储体及译码电路结构图(2)实现方法利用38译码器的输入端b0b1b2分别控制每一个寄存器的ce使能端及时钟脉冲端产生的脉冲信号实现对八个存储单元的信息输入。将译码器的八个输出端分别与八个寄存器的使能端相连,实现逐个信息输入。(3)功能仿真对存储体的输入输出进行仿真,能够实现上述功能。仿真图如图 2.4所示。其中总线shu7:0是输入寄存器的检索信息,总线q0

14、7:0-q77:0分别代表存 储体的从上到下的八个寄存器存储的数据。b 11 11 b b b b b b b b bambus7 (hex)jb1b2clockshu7.(hex)#sq07(hex)#3q17.(hex)#8q27.(hex)#3q37 (hex)jfeq47.(hex)#8qe7 (hex)#s 口67 一(hex)*8 q77.(hex)#8二三图2.4存储体输入仿真图2.2.4 数字比较器的实现当检索内容与待检测内容分别写入到输入寄存器与存储体以后,需要通过比 较寄存器把检索数据与存储体中每一个存储单元中的数据进行匹配比较,如果发 现其某个存储单元中的数据和检索数据完

15、全一致,就把符合寄存器的相应位置“1”,表示其该数据即为想要检索的数据,否则置“0”,表示存储体中没有符合匹配要求的数据。(1) comp8的实现数字比较器使用8个comp8组成的,comp8的功能是实现1个八位二进制 数的比较。comp8的电路图如下图2.5所示。comp8一川7:5eq 一.b7:oj图2.5数字比较器元件图comp的内部结构图如下图2.6所示。其中总线a7:0是用来传输检索信息, 总线b7:0是用来传送存储体的待检索信息的,eq端是用来输出比较结果,当检 索信息和带检索信息相同时eqs置“1”,否则置“0”。卬:e白 f:二图2.6数字比较器的内部实现(2)数字比较器的实

16、现比较模块的部件主要用数据比较器来实现,存储体中有8个寄存器,所以比较器也相应的需要8个,字位数也是8位。匹配比较的结果将其输出到结果查找 寄存器中。比较线路的实现方法是:先将输入寄存器的输出总线与8个比较器的输入总线相连接,存储体中的8个寄存器的输出总线与8个比较器另一个输入总线相连 接。此时随着脉冲信号的连续进行,存储体内每输入一个存储单元,就将其接到 一个比较器的另一端与输入寄存器中的数据进行比较,相同时置“1”,不同时置“0”。直至将所有存储单元都比较完为止。数字比较器的电路如下图所示,其中总线q07:0q77:0是存储体的数据总 线,总线shu7:0是输入寄存器的数据总线,总线 d7

17、:0是比较结果输出总线。图2.7数字比较器逻辑模块图、2.2.5 查找结果寄存器的实现查找结果寄存器同样由一个8位寄存器来实现,与输入寄存器原理一样。输入总线与数字比较器输出结果总线相连接,用来存放比较后得到的匹配信息。(1)查找寄存器与输入寄存器的元器件一样都是fd8ce,结构图如下图2.8所示fd8cecec clr图2.8查找结果寄存器图(2) fd8ce的结构图如下图2.9所示图2.9查找结果寄存器图结构图2.3 仿真调试仿真调试主要用来验证设计电路逻辑功能、时序的正确性,本设计中主要采 用功能仿真方法对设计的电路进行仿真。(1)建立仿真波形文件及仿真信号选择在进行功能仿真时,首先建立

18、仿真波形文件,选择仿真信号,对选定的输入信号设置参数,当脉冲遇到上升沿时选定的仿真信号和设置的参数如表2.3所示表2.3仿真信号选择和参数设置输入信号输出信号ibusambusb2b1b0clkobus300001ff31001100000000320101000000003301110000000034100100001000351011000010003611010000100037111100001000(2)功能仿真结果与分析如上表2.3所示:检索数据是“ 3”,存储体中的待检索数据是“ 07”,由38译码器控制的存储体依次存入“ 07”八个数,通过数字比较器可以得知第四 个寄存器存储

19、的信息和检索数据相同,则结果寄存器的八位二进制数的第四位应 该置“1”,其余位置“0”。所以最后的结果为“ 0000100。,表示存储体的第四个寄存器储存的数据和检索数据相同,即可得到数据的地址。如下图2.10所示为功能仿真的波形结果ooooooooibus7 . (hex)#: ambus7 (hes), boblb2clockobus7obus6obus5obue4obus3obus2obus1图2.10功能仿真波形结果obuso第3章 编程下载与硬件测试3.1 编程下载利用xilinx ise的编程下载功能,将得到的gmk1689.bit文件下载到xcv200 实验板的xcv200可编程

20、逻辑芯片中。3.2 硬件测试及结果分析利用xcv200实验板进行硬件功能测试。相联存储器的输入数据通过 xcv200实验板的输入开关实现,输出数据通过xcv200实验板的led指示灯实 现,其对应关系如表3.1所示。表3.1 xcv200实验板信号对应关系xcv200芯片弓1脚彳百号xcv200实验板xcv200芯片弓1脚彳百号xcv200实验板ibus0k00ambus4k14ibus1k01ambus5k15ibus2k02ambus6k16ibus31k03ambus7pk17ibus4k04clockclockibus6k06obus0a0ibus7k07obus1a1b0k20obu

21、s2a2b1k21obus3a3b2k22obus4a4ambus0k10obus5a5ambus1:k11obus6pa6ambus2k12obus7a7ambus3k13利用表2.2中的输入参数作为输入数据,逐个测试输出结果,即用 xcv200 实验板的开关k20、k21、k22控制输入数据,开关k00k07控制输入寄存器的 内容输入,开关k10k17控制存储体中内容的输入。同时观察 a0a7的输出, 得到如表3.2所示的硬件测试结果。表3.2硬件测试结果输入信号输出信号k00- k07k10 k17k22k21k20clka0 a70000001100000000000100000000

22、000000110000000100110000000000000011000001001010000010000000011000000110111000001000000001100000100100100000100000000110000010110110000010000000011000001101101000001000000001100000111111100000100输入寄存器存的数是对应的十六进制数 3,存储体中存的数分别对应的是0, 1, 2, 3, 4, 5, 6, 7。对表3.2与表2.2的内容进行对比,可以看出硬件测试结 果为00001000,由此可以看出测试的结果是正确的,说明电路设计正确合理。如下图3.1所示为仿真下载的结果图3.1数据的cop2000仿真下载结果参考文献1曹昕燕.edafc术实验与课程设计m .北京:清华大学出版社,20062胡越明.计算机组成与设计m.北京:科学出版社,20063王爱英.计算机组成与结构

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论