沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:计算机组成原理课程设计 课程设计题目:相联存储器的设计与实现
院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 完成日期:
目 录
第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 设计原理
相联存储器(Content Addressed Memory)即可按地址寻址,又可按内容(通常是某些字段)寻址,为与传统存储器区别,又称为按内容寻址的的存储器。相联存储器的每个字由若干字段组成,每个字段描述了一个对象的属性,也称为一个内容。
相联存储器的结构框图如图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环境:Xilinx foundation f3.1设计软件、COP2000仿真软件
图1.2 Xilinx foundation f3.1设计平台
图 1.3 COP2000计算机组成原理集成调试软件
第2章 详细设计方案
2.1 总体方案的设计与实现
本设计方案以原理图输入方式设计出顶层方案图,以此实现相联存储器相关的逻辑功能,在XCV200可编程逻辑芯片上实现电路。在Xilinx foundation f3.1开发环境上设计好电路图,把输入/输出信号分别定位到XCV200芯片指定的引脚上,完成芯片的引脚的锁定。
2.1.1创建顶层图形设计文件
根据相联存储器的相关功能,顶层图形文件由以下器件组成:九个寄存器(FD8CE),一个3:8译码器(D3-8E)、八个CR比较器(COMP8)、二十个输入端口和八个输出端口封装而成的一个完整的设计实体。该方案在Xilinx foundation f3.1软件环境下进行软件的设计,实现顶层图形文件。
2.1.2器件的选择与引脚锁定
(1)器件的选择
由于所提供的硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,因此采用的目标芯片为Xlinx XCV200可编程逻辑芯片。
(2)引脚锁定
根据引脚分配表,把顶层图形文件中的输入/输出信号依次安排到Xlinx XCV200芯片指定的引脚上,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系如表2.1所示。
表2.1 信号和芯片引脚对应关系
2.1.3编译、综合、适配
利用Xilinx foundation f3.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仿真信号选择和参数设置
图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仿真信号选择和参数设置
图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仿真信号选择和参数设置
图2.6存储体模块仿真图
由图2.6的仿真的结果与表2.4的参数设计进行比较可知,仿真结果正确。
2.3 仿真调试
仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
2.3.1建立仿真波形文件及仿真信号选择
在进行功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,当脉冲遇到上升沿时选定的仿真信号和设置的参数如表2.5所示。
表2.5仿真信号选择和参数设置
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.1 XCV200实验板信号对应关系
利用表3.2中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开关K20、K21、K22控制输入数据,开关K00~K07控制输入寄存器的
内容输入,开关K10~K17控制存储体中内容的输入。同时观察A0~A7的输出,得到如表3.2所示的硬件测试结果。
表3.2 硬件测试结果
输入寄存器存的数是对应的十六进制数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] 王冠.Verilog HDL与数字电路设计[M].北京:机械工业出版社,2005 [5] 白中英.计算机组成原理[M].科学出版社出版社,2008 [6] 郑纬民.计算机系统结构[M].北京:清华大学出版社,1992 [7] 胡越明.计算机组成与设计[M].北京:科学出版社,2006
附 录
沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:计算机组成原理课程设计 课程设计题目:相联存储器的设计与实现
院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 完成日期:
目 录
第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 设计原理
相联存储器(Content Addressed Memory)即可按地址寻址,又可按内容(通常是某些字段)寻址,为与传统存储器区别,又称为按内容寻址的的存储器。相联存储器的每个字由若干字段组成,每个字段描述了一个对象的属性,也称为一个内容。
相联存储器的结构框图如图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环境:Xilinx foundation f3.1设计软件、COP2000仿真软件
图1.2 Xilinx foundation f3.1设计平台
图 1.3 COP2000计算机组成原理集成调试软件
第2章 详细设计方案
2.1 总体方案的设计与实现
本设计方案以原理图输入方式设计出顶层方案图,以此实现相联存储器相关的逻辑功能,在XCV200可编程逻辑芯片上实现电路。在Xilinx foundation f3.1开发环境上设计好电路图,把输入/输出信号分别定位到XCV200芯片指定的引脚上,完成芯片的引脚的锁定。
2.1.1创建顶层图形设计文件
根据相联存储器的相关功能,顶层图形文件由以下器件组成:九个寄存器(FD8CE),一个3:8译码器(D3-8E)、八个CR比较器(COMP8)、二十个输入端口和八个输出端口封装而成的一个完整的设计实体。该方案在Xilinx foundation f3.1软件环境下进行软件的设计,实现顶层图形文件。
2.1.2器件的选择与引脚锁定
(1)器件的选择
由于所提供的硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,因此采用的目标芯片为Xlinx XCV200可编程逻辑芯片。
(2)引脚锁定
根据引脚分配表,把顶层图形文件中的输入/输出信号依次安排到Xlinx XCV200芯片指定的引脚上,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系如表2.1所示。
表2.1 信号和芯片引脚对应关系
2.1.3编译、综合、适配
利用Xilinx foundation f3.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仿真信号选择和参数设置
图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仿真信号选择和参数设置
图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仿真信号选择和参数设置
图2.6存储体模块仿真图
由图2.6的仿真的结果与表2.4的参数设计进行比较可知,仿真结果正确。
2.3 仿真调试
仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
2.3.1建立仿真波形文件及仿真信号选择
在进行功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,当脉冲遇到上升沿时选定的仿真信号和设置的参数如表2.5所示。
表2.5仿真信号选择和参数设置
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.1 XCV200实验板信号对应关系
利用表3.2中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开关K20、K21、K22控制输入数据,开关K00~K07控制输入寄存器的
内容输入,开关K10~K17控制存储体中内容的输入。同时观察A0~A7的输出,得到如表3.2所示的硬件测试结果。
表3.2 硬件测试结果
输入寄存器存的数是对应的十六进制数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] 王冠.Verilog HDL与数字电路设计[M].北京:机械工业出版社,2005 [5] 白中英.计算机组成原理[M].科学出版社出版社,2008 [6] 郑纬民.计算机系统结构[M].北京:清华大学出版社,1992 [7] 胡越明.计算机组成与设计[M].北京:科学出版社,2006
附 录