相联存储器的设计与实现要点.docx
- 文档编号:4061874
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:17
- 大小:312.34KB
相联存储器的设计与实现要点.docx
《相联存储器的设计与实现要点.docx》由会员分享,可在线阅读,更多相关《相联存储器的设计与实现要点.docx(17页珍藏版)》请在冰豆网上搜索。
相联存储器的设计与实现要点
沈阳航空航天大学
课程设计报告
课程设计名称:
计算机组成原理课程设计
课程设计题目:
相联存储器的设计与实现
院(系):
计算机学院
专业:
计算机科学与技术
班级:
学号:
姓名:
指导教师:
完成日期:
目录
第1章总体设计方案2
1.1设计原理2
1.2设计思路2
1.3设计环境3
第2章详细设计方案5
2.1总体方案的设计与实现5
2.1.1创建顶层图形设计文件5
2.1.2器件的选择与引脚锁定5
2.1.3编译、综合、适配6
2.2功能模块的设计与实现6
2.2.1输入寄存器的设计与实现7
2.2.2存储体的设计与实现8
2.2.3检索寄存器的设计与实现9
2.3仿真调试11
2.3.1建立仿真波形文件及仿真信号选择12
2.3.2功能仿真结果与分析12
第3章编程下载与硬件测试13
3.1编程下载13
3.2硬件测试及结果分析13
参考文献16
附录17
第1章总体设计方案
1.1设计原理
相联存储器(ContentAddressedMemory)即可按地址寻址,又可按内容(通常是某些字段)寻址,为与传统存储器区别,又称为按内容寻址的的存储器。
相联存储器的每个字由若干字段组成,每个字段描述了一个对象的属性,也称为一个内容。
相联存储器的结构框图如图1.1所示。
它主要实现将输入寄存器的信息与存储体的信息作比较,相匹配的置为“1”,不匹配的置为“0”,并输出结果。
图1.1相联存储器原理框图
1.2设计思路
根据相联存储器的原理特点,即按照内容寻址,因此可以将相联存储器分为以下几个部分:
输入寄存器,译码选择电路,存储体,检索寄存器。
输入寄存器:
用来存放检索字,其位数与相联存储器的字长相等。
译码选择电路:
用3-8译码器进行译码电路选择,如当置输入端A2A1A0为“000”,译码器,可以向存储体第一个单元地址输入八位二进制的字信息;同时其他的存储单元的信息被屏蔽掉。
存储体(AMU):
用于存放待检索的数据,由高速半导体存储器构成,以求快速存取。
检索寄存器(CR):
把检索项和所有存储单元相应位进行比较,如果比较结果相等,输出高电平1,否则输出低电平0。
设存储体由8个字构成,字长为8位的二进制数。
CR为检索寄存器,字长也为8位,存放要比较的数。
首先向输入总线输入一个八位二进制的字,然后通过三八译码器选择电路依次将八个八位二进制数输入到存储体中。
将输入到输入寄存器的字通过检索寄存器分别与存储体里的八个字检索比较,若匹配,则输出信号置1,否则置0,,我们就能找到匹配的那个字。
若存储体八个单元存储的数据分别为00010001、10001001、00010000、10011001、10010010、00010011、00010001,00011000,输入寄存器中的存储数据是10010010,通过检索寄存器器CR进行比较之后,可以知道发现检索数据与存储体中的第五个单元的内容一致,所以结果输出为:
00001000。
1.3设计环境
硬件环境:
伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。
EDA环境:
Xilinxfoundationf3.1设计软件、COP2000仿真软件
图1.2Xilinxfoundationf3.1设计平台
图1.3COP2000计算机组成原理集成调试软件
第2章详细设计方案
2.1总体方案的设计与实现
本设计方案以原理图输入方式设计出顶层方案图,以此实现相联存储器相关的逻辑功能,在XCV200可编程逻辑芯片上实现电路。
在Xilinxfoundationf3.1开发环境上设计好电路图,把输入/输出信号分别定位到XCV200芯片指定的引脚上,完成芯片的引脚的锁定。
2.1.1创建顶层图形设计文件
根据相联存储器的相关功能,顶层图形文件由以下器件组成:
九个寄存器(FD8CE),一个3:
8译码器(D3-8E)、八个CR比较器(COMP8)、二十个输入端口和八个输出端口封装而成的一个完整的设计实体。
该方案在Xilinxfoundationf3.1软件环境下进行软件的设计,实现顶层图形文件。
2.1.2器件的选择与引脚锁定
(1)器件的选择
由于所提供的硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,因此采用的目标芯片为XlinxXCV200可编程逻辑芯片。
(2)引脚锁定
根据引脚分配表,把顶层图形文件中的输入/输出信号依次安排到XlinxXCV200芯片指定的引脚上,实现芯片的引脚锁定,各信号及XlinxXCV200芯片引脚对应关系如表2.1所示。
表2.1信号和芯片引脚对应关系
相联存储器内部信号
XCV200芯片引脚
CBUS0
P103
CBUS1
P102
CBUS2
P101
CBUS3
P100
CBUS4
P97
CBUS5
P96
CBUS6
P95
CBUS7
P94
A0
P73
A1
P72
A2
P71
INBUS0
P87
INBUS1
P86
INBUS2
P85
INBUS3
P84
INBUS4
P82
INBUS5
P81
INBUS6
P80
INBUS7
P79
CLK
P213
OUT0
P110
OUT1
P111
OUT2
P203
OUT3
P185
OUT4
P184
OUT5
P178
OUT6
P152
OUT7
P147
2.1.3编译、综合、适配
利用Xilinxfoundationf3.1设计软件对顶层图形文件进行编译,并尽量调整各器件和线的位置使其合理美观,连接完毕后进行仿真,待仿真成功后编译文件,编译成功后即可将文件下载到芯片中。
2.2功能模块的设计与实现
本相联存储器是由输入寄存器,选择比较电路,检索寄存器,存储体组成的,设有20个输入端口和8个输出端口实现其输入和输出。
各部分元件均分别单独实现功能并仿真成功之后,再将各部分模块进行连接,经整体整合仿真成功后,完成了所需电路实体。
2.2.1输入寄存器的设计与实现
2.2.1.1功能描述
输入寄存器字长为八位,用于存放检索数据,本方案用一个8位的D触发器来实现。
2.2.1.2电路图
图2.1输入模块电路图
2.2.1.3功能仿真
在进行功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,当脉冲遇到上升沿时选定的仿真信号和设置的参数如表2.2所示。
表2.2仿真信号选择和参数设置
输入信号
输出信号
CBUS(16进制)
CLK
QBUS(16进制)
0F
1
0F
3F
1
3F
图2.2输入模块仿真图
由图2.2的仿真的结果与表2.2的参数设计进行比较可知,仿真结果正确。
2.2.2存储体的设计与实现
2.2.2.1功能描述
该存储体一共有8个寄存器组成,每个寄存器的字长为8位。
利用3:
8译码器的输出端分别控制8个寄存器的CE端,使之可以分别对每一个存储器进行写入操作。
例如:
译码器输入端A0,A1,A2为010时,其输出端D2输出为“1”,使得与D2端相连的寄存器的使能端为“1”,并且CLK信号为高电位时,即可将数据总线INBUS7~INBUS0的数据输入到此寄存器中。
如此可以最终实现对8个寄存器的分别写入操作。
2.2.2.2电路图
图2.3存储体模块电路图
2.2.2.3功能仿真
在进行功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,当脉冲遇到上升沿时选定的仿真信号和设置的参数如表2.3所示。
其中,129到136是分别是8个存储体的输出。
表2.3仿真信号选择和参数设置
输入信号
输出信号
INBUS(16进制)
A2
A1
A0
CLK
QBUS
FF
0
0
0
1
129
FF
0F
0
0
1
1
130
0F
00
0
1
0
1
132
00
F8
0
1
1
1
132
F8
1C
1
0
0
1
133
1C
2F
1
01
1
1
134
2F
F0
1
1
0
1
135
F0
6F
1
1
1
1
136
6F
图2.4存储体模块仿真图
由图2.4的仿真的结果与表2.3的参数设计进行比较可知,仿真结果正确。
2.2.3检索寄存器的设计与实现
2.2.3.1功能描述
当检索内容与待检测内容分别写入到输入寄存器与存储体以后,需要通过检索寄存器把检索数据与存储体中每一个存储单元中的数据进行匹配,如果发现其某个存储单元中的数据和检索数据完全一致,就把符合寄存器的相应位置“1”,表示其该数据即为想要检索的数据,否则置“0”,表示存储体中没有符合匹配要求的数据。
2.2.3.2电路图
图2.5存储体模块电路图
2.2.3.3功能仿真
在进行功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,当脉冲遇到上升沿时选定的仿真信号和设置的参数如表2.4所示。
其中,QBUS为检索数据,Q0到Q7为存储体中的数据。
表2.4仿真信号选择和参数设置
输入数据
输出数据
QBUS(16进制)
Q0---Q7(16进制)
0---7(2进制)
3C
Q0
7F
0
0
Q1
F8
1
0
Q2
E0
2
0
Q3
01
3
0
Q4
01
4
0
Q5
0F
5
0
Q6
3C
6
1
Q7
FF
7
0
图2.6存储体模块仿真图
由图2.6的仿真的结果与表2.4的参数设计进行比较可知,仿真结果正确。
2.3仿真调试
仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
2.3.1建立仿真波形文件及仿真信号选择
在进行功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,当脉冲遇到上升沿时选定的仿真信号和设置的参数如表2.5所示。
表2.5仿真信号选择和参数设置
输入信号
输出信号
CBUS(16进制)
INBUS(16进制)
A2
A1
A0
CLK
OUT0--7
F7
FF
0
0
0
1
0
F7
BF
0
0
1
1
0
F7
EF
0
1
0
1
0
F7
F7
0
1
1
1
1
F7
FB
1
0
0
1
0
F7
FD
1
0
1
1
0
F7
83
1
1
0
1
0
F7
C7
1
1
1
1
0
2.3.2功能仿真结果与分析
图2.7功能仿真波形结果
由图2.7的功能仿真的结果与表2.5的参数设计进行比较可知,仿真结果正确。
第3章编程下载与硬件测试
3.1编程下载
利用COP2000仿真软件的编程下载功能,将得到hh.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。
3.2硬件测试及结果分析
利用XCV200实验板进行硬件功能测试。
相联存储器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所示。
表3.1XCV200实验板信号对应关系
XCV200芯片引脚信号
XCV200实验板
XCV200芯片引脚信号
XCV200实验板
IBUS0
K00
AMBUS4
K14
IBUS1
K01
AMBUS5
K15
IBUS2
K02
AMBUS6
K16
IBUS3
K03
AMBUS7
K17
IBUS4
K04
CLK
CLOCK
IBUS6
K06
OBUS0
A0
IBUS7
K07
OBUS1
A1
B0
K20
OBUS2
A2
B1
K21
OBUS3
A3
B2
K22
OBUS4
A4
AMBUS0
K10
OBUS5
A5
AMBUS1
K11
OBUS6
A6
AMBUS2
K12
OBUS7
A7
AMBUS3
K13
利用表3.2中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开关K20、K21、K22控制输入数据,开关K00~K07控制输入寄存器的内容输入,开关K10~K17控制存储体中内容的输入。
同时观察A0~A7的输出,得到如表3.2所示的硬件测试结果。
表3.2硬件测试结果
输入信号
输出信号
K00—K07
K10—K17
K22
K21
K20
CLK
A0—A7
00001111
00001000
0
0
0
1
00000000
00001111
00001001
0
0
1
1
00000000
00001111
00010000
0
1
0
1
00000000
00001111
00010001
0
1
1
1
00000000
00001111
00001111
1
0
0
1
00010000
00001111
00010011
1
0
1
1
00010000
00001111
00010000
1
1
0
1
00010000
00001111
00010001
1
1
1
1
00010000
输入寄存器存的数是对应的十六进制数0F,存储体中存的数分别对应的是08,09,10,11,0F,13,10,11。
对表3.2与图3.1的内容进行对比,可以看出硬件测试结果为00010000,对应十六进制的数10,由此可以看出测试的结果是正确的,说明电路设计正确合理。
图3.1为仿真下载的结果。
图3.1硬件测试结果图
参考文献
[1]李景华.可编程程逻辑器件与EDA技术[M].北京:
东北大学出版社,2001
[2]范延滨.微型计算机系统原理、接口与EDA设计技术[M].北京:
北京邮电大学出版社,2006
[3]王爱英.计算机组成与结构(第4版)[M].北京:
清华大学出版社,2006
[4]王冠.VerilogHDL与数字电路设计[M].北京:
机械工业出版社,2005
[5]白中英.计算机组成原理[M].科学出版社出版社,2008
[6]郑纬民.计算机系统结构[M].北京:
清华大学出版社,1992
[7]胡越明.计算机组成与设计[M].北京:
科学出版社,2006
附录
课程设计总结:
经过两周的努力,终于完成了这学期的《计算机组成原理》科目的课程设计。
虽然只有短短两周,但却感觉学到了很多东西。
在对相联存储器的设计过程中,遇到了如下问题:
1.首先是软件使用方面的问题,因为在课设之前从未用过Xilinxfoundationf3.1软件,所以在课设过程中遇到了很多关于软件使用方面的问题,但在老师和同学的帮助下,这些问题都得到了解决。
2.数据总线的使用问题。
开始时没有对数据总线以及连到总线上的导线进行命名,导致数据无法输入和输出。
在此次课程设计中,采用了自上而下的设计方法,顶层设计使用原理图设计输入方式;底层设计以存储体和3:
8译码器及CR、SRR为基础,最终实现相联存储器的功能。
总之,经过两周的课程设计我受益匪浅,同时我还要感谢郭老师和实验室其他老师我的悉心指导,帮我分析解决了许多棘手的问题,也为我拓展思路提供了很好的指导。
指导教师评语:
指导教师(签字):
年月日
课程设计成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 相联 存储器 设计 实现 要点