1、中断请求串行判优先电路的设计课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:中断请求串行判优先电路的设计院(系): 专 业: 班 级:学 号:姓 名:指导教师:完成日期: 目 录第1章 总体设计方案 11.1 设计原理 11.2 设计思路 21.3 设计环境 2第2章 详细设计方案 52.1 顶层方案图的设计与实现 52.1.1创建顶层图形设计文件 52.1.2器件的选择与引脚锁定 52.1.3编译、综合、适配 72.2 功能模块的设计与实现 72.2.1 8_3CODER的设计与实现 72.2.2 8AND的设计与实现 92.2.3 CELL的设计与实现 112.2.
2、4 INTC完整原理图 122.3 仿真调试 13第3章 编程下载与硬件测试 153.1编程下载 153.2 硬件测试及结果分析 15参考文献 19附录(电路原理图) 20第1章 总体设计方案1.1 设计原理主机与外部设备的信息交换方式主要有:程序查询方式,程序中断方式,DMA方式等。程序中断方式的主要特点是:程序切换(程序转移)和随机性。对于小数据量交换的场合,用程序中断方式是很方便和高效的。程序中断方式是指:CPU在执行程序的过程中,如果因出现某种随机事件而收到中断请求,则暂时停止现行程序的执行,转去执行一段中断服务程序,以处理该事件,并在处理完毕后自动恢复程序的执行。中断请求串行优先电路
3、,即菊花链优先排队电路,是一种优先级管理的简单硬件方案。它为每个设备接口都设置一个简单的逻辑电路,以便根据优先级来传递或截取CPU发出的中断响应信号INTA(低电平有效),以实现响应中断的优先顺序(如图1.1所示)。图1.1 菊花链排队电路原理图由于需要产生中断向量,所以在菊花链排队电路的基础上,再加入中断向量产生逻辑。实用的中断控制器都可以实现对特定中断的屏蔽,所以在上述电路的基础上再加入中断屏蔽电路。1.2 设计思路题目要求设计的电路由中断请求触发器、中断向量寄存器和门电路等逻辑部件组成。所以电路主要由菊花链排队部分(用于中断响应信号INTA的传递或截取)和中断向量产生部分(用于生成当前中
4、断请求中优先级最高的中断请求的中断向量)。菊花链排队部分应包括菊花链电路和中断汇总电路。中断向量产生部分需要挑选出当前中断请求中优先级别最高的请求,所以一种简单的方案是采用优先编码器生成相应的中断向量。中断源数目为8,所以只需要使用8-3优先编码器即可完成。中断设备码用8位二进制数表示,但真正有用的设备码只包含在其低3位,高5位置0即可。实现特定中断屏蔽功能,只需在上述基础上加入一个中断屏蔽寄存器,输入的中断请求在经过中断屏蔽寄存器过滤后再送菊花链排队部分和中断向量产生部分。其设计框图如图1.2所示。图1.2 中断请求串行优先电路设计框图1.3 设计环境(1)硬件环境伟福COP2000型计算机
5、组成原理实验仪COP2000计算机组成原理实验系统实验箱及其配套软件组成。其软硬件对用户的实验设计具有完全的开放特性。它的各模块的数据线、地址线与系统之间的挂接是通过三态门,而不是其它实验设备所采用的扁平连线方法,而数据线、地址线是否要与系统连通,则由用户连线控制。COP2000系统的运算器采用EDA技术设计,随机出厂时,已提供一套已装载方案,能进行加、减、与、或、带进位加、取反、直通八种运算方式,若用户不满意该套方案,也可自行重新设计并通过JTAG口下载。控制器微指令格式及定义可通过键盘和PC机进行重新设计,从而产生与众不同的指令系统。系统和数据线、地址线、控制线均在产品线插孔区引出,并设计
6、了40芯锁进插座,供用户进行RAM、8251、8255、8259等接口器件的扩展实验。(2)EDA环境Xilinx Foundation F3.1设计软件Xilinx Foundation F3.1是Xilinx公司主要的可编程器件开发工具,它可用来开发Xilinx公司的Spar-tan Virtex XC3000 XC4000 XC5200 系列的FPGA芯片和XC9500系列的CPLD芯片。该平台功能强大,主要用于百万逻辑门级的设计和1Gb/s的高速通信内核的设计。利用该系统可完成从设计构想到比特流下载的全部过程。该平台以工程管理器为主界面,同时集成了Xilinx公司以及其他公司的一些优秀
7、软件。用Xilinx Foundation F3.1进行FPGA设计流程图的步骤如图1.3 所示。图1.3 FPGA设计流程图COP2000集成开发环境COP2000集成开发环境是COP2000计算机组成原理实验仪的配套软件环境,在这个软件环境下可完成汇编程序的调试、指令系统的设计、实时仿真与调试等功能,其界面如图1.4 。图1.3 COP2000计算机组成原理集成调试软件第2章 详细设计方案2.1 顶层方案图的设计与实现顶层方案图实现中断请求串行优先电路,中断控制器封装在名为INTC的自定义符号中。INTC中又用到了多个自定义符号,包括8_3CODER(8-3优先编码器,用于中断向量生成电路
8、中)、8AND(内含8个二输入与门,用于中断屏蔽电路)、CELL(菊花链节点,用于组建菊花链电路)。2.1.1创建顶层图形设计文件顶层图形文件由输入输出端口和INTC组成(如图2.1)。左上角为8个中断请求输入端,左下角为8个中断屏蔽信号输入端,右上角为8个中断响应信号输出端,右下角为8个中断向量输出端。_INTA为CPU中断响应信号输入端(低电平有效,其他输入信号均为高电平有效),INT为中断请求输出端(接CPU的INT引脚)。图2.1 中断请求串行判优先电路顶层设计图2.1.2器件的选择与引脚锁定(1)器件的选择硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板
9、,采用的目标芯片为Xilinx XCV200可编程逻辑芯片。(2)引脚锁定顶层图形文件中的芯片引脚与Xilinx XCV200芯片引脚对应关系如表2.1所示。表2.1 信号和芯片引脚对应关系INTC的输入/输出信号XCV200芯片引脚IR0P103IR1P102IR2P101IR3P100IR4P97IR5P96IR6P95IR7P94M0P87M1P86M2P85M3P84M4P82M5P81M6P80M7P79INTA0P125INTA1P124INTA2P109INTA3P108INTA4P107INTA5P99INTA6P93INTA7P78V0P223V1P222V2P221V3P2
10、20V4P218V5P217V6P216V7P215_INTAP73INTP1102.1.3编译、综合、适配利用Xilinx foundation f3.1的原理图编辑器对顶层图形文件进行编辑,并利用仿真器对其进行,分析信号波形是否与功能相符。仿真成功后对工程进行编译,生成相应的*.bit文件后下载到芯片中,通过实验箱观察实际运行效果。 2.2 功能模块的设计与实现中断控制器符号INTC包含中断请求串行优先电路的全部电路,其中主要包含8_3CODER、8AND、CELL等自定义符号和其他辅助电路。2.2.1 8_3CODER的设计与实现该模块包含9个输入端,4个输出端。输入8个中断请求信号,Y
11、0Y2三个输出端输出中断请求信号中优先级最高的信号所对应的中断向量。输出端INT用于标识当前的输出信号是否有效(1:有效,0:无效)。(1)创建8_3CODER原理图。8_3CODER的结构如图2.2所示:图2.2 8_3CODER原理图(2)创建元件图形符号8_3CODER的元件图形符号如图2.3所示。I0 I7为中断请求信号输入端(低电平有效),CS为芯片使能信号。Y0 Y2 为中断向量输出,INT为中断向量有效信号。图2.3 8_3CODER元件图形符号(3)功能仿真用Xilinx Foundation f3.1的Simulator对此模块进行仿真。仿真结果如图2.4所示:图2.4 8_
12、3CODER仿真结果由图可知,当I7,I6,I5同时发出中断请求时,响应I7(Y0 Y2 输出为111)。当I5,I4,I3同时发出中断请求时,响应I5(Y0 Y2 输出为101),其他信号与此相同。其真值表同优先编码器。2.2.2 8AND的设计与实现该模块由八个二输入与门组成,A0 A7 为第一组信号输入端,B0B7 为第二组信号输入端,C0C7为输出端。在使用中,A0 A7 接中断请求信号,B0B7 接中断屏蔽信号,输出为屏蔽后可用的中断请求信号。(1)创建8AND原理图。8AND的结构如图2.5所示:图2.5 8AND原理图(2)创建元件图形符号8AND的元件图形符号如图2.6所示。图
13、2.6 8AND图形符号(3)功能仿真用Xilinx Foundation f3.1的Simulator对此模块进行仿真。仿真结果如图2.7所示:图2.7 8AND仿真结果 由图可知,当且仅当Ai与Bi同时为电平,其输出Ci为高电平。即当某中断未被屏蔽时,它可以通过8AND。2.2.3 CELL的设计与实现CELL用于构造菊花链。INT为中断请求信号输入端,INR为中断响应信号输入端,IOK为中断响应信号输出端,NEXT用于连接下一个节点的INR引脚,INTO为中断请求信号输出端。(1)CELL设计原理图。CELL的结构如图2.8所示:图2.8 CELL原理图(2)创建元件图形符号CELL的元
14、件图形符号如图2.9所示。左边为输入端INT和INR,右边为输出端IOK、INTO和级联端NEXT。图2.9 CELL图形符号(3)功能仿真用Xilinx Foundation f3.1的Simulator对此模块进行仿真。其仿真电路如图2.10所示。电路中使用三个CELL模块串联,组成一条菊花链。INTA端为中断响应输入端,IR0IR2为中断请求信号输入端,IOK0IOK2为中断响应信号输出端。图2.10 CELL仿真电路仿真结果如图2.11。当IR0和IR1同时产生中断时,中断响应信号INTA到达后,IOK1变为低电平,即IR1得到响应,与预期的结果相符。其他的情况下也得到了正确的结果。图
15、2.11 CELL电路仿真结果2.2.4 INTC完整原理图INTC包含对上述模块进行综合,最终实现中断控制器。INTC包含一个3_8CODER模块,一个8AND模块,八个CELL模块及其他辅助电路。(1)创建INTC原理图。INTC的原理图如附录所示。中断请求信号首先通过与中断屏蔽信号相与后,发送至3_8CODER产生相应的中断向量,及发送到菊花链电路,经过或门OR8综合后产生中断信号INT。在CPU收到中断请求信号后,发回INTA信号(低电平有效),经过菊花链的传递,找到当前中断请求中优先级最高的请求,向对应的设备发送INTAi信号(低电平有效)。对应的设备撤去中断请求信号,完成一次中断请
16、求过程。(2)创建元件图形符号INTC的元件图形符号如图2.12所示。图2.12 INTC图形符号(3)功能仿真见2.3节,仿真调试。2.3 仿真调试仿真调试将对整个设计的电路逻辑功能、时序的正确性进行验证。(1)仿真信号选择打开仿真器后,选择需要观察的仿真信号,对选定的输入信号设置参数。初始IR0IR7全置为低电平,即处于无中断状态。_INTA置高电平,即无中断响应信号。中断屏蔽信号输入端M0M7全置为高电平,即打开所有中断。(2)功能仿真结果与分析功能仿真波形结果如图2.13所示。当IR5,IR6同时发出中断请求时,INT端置高电平,表示有未屏蔽的中断请求产生。CPU收到中断请求信号后,置
17、_INTA为低电平作为响应。中断控制器送出中断向量6(V2:V1:V0 = 110b, V7V3 0,初始态时V0V7 为高阻态)。_INTA通过菊花链传递到达INTA6,INTA6置低电平,表示响应6号中断。CPU获得中断向量后撤去_INTA信号,V0V7 又回到高阻态。当第二次响应中断时,INT5得到响应。然后,屏蔽IR6和IR7两个中断(置M6和M7为0)。当IR0,IR1,IR7同时发出中断请求时,由于IR7被屏蔽,所以响应IR1 。下一次则响应IR0。输出波形与设计相符。图2.13 功能仿真波形结果第3章 编程下载与硬件测试3.1编程下载利用COP2000仿真软件的编程下载功能,将得
18、到*.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。3.2 硬件测试及结果分析利用XCV200实验板进行硬件功能测试。中断请求信号,中断屏蔽掩码及来自CPU的中断响应信号的输入通过XCV200实验板的输入开关实现,中断响应信号通过XCV200实验板的LED指示灯实现,向CPU回送的中断向量通过数码管显示,其对应关系如表3.1所示。 表3.1 中断控制器与XCV200实验板引脚对应关系中断控制器引脚XCV200芯片引脚XCV200实验板IR7P94K0:7IR6P95K0:6IR5P96K0:5IR4P97K0:4IR3P100K0:3IR2P101K0:2IR1P102K0
19、:1IR0P103K0:0M7P79K1:7M6P80K1:6M5P81K1:5M4P82K1:4M3P84K1:3M2P85K1:2M1P86K1:1M0P87K1:0_INTAP73K2:0INTA7P78B7INTA6P93B6INTA5P99B5INTA4P107B4INTA3P108B3INTA2P19B2INTA1P124B1INTA0P125B0V7P215S0:7V6P216S0:6V5P217S0:5V4P218S0:4V3P220S0:3V2P221S0:2V1P222S0:1V0P223S0:0INTP110A0初始化状态时仿真如图3.1所示。所有中断均已打开,未发生中断
20、,中断响应信号_INTA为高电平。图3.1 仿真初始状态多个中断同时发生时的仿真结果如图3.2所示。当5,6,7号中断同时发生时,CPU收到中断请求信号,灯A0点亮。CPU发出中断响应信号_INTA,由于 当前中断中7号中断优先级最高,中断控制器送出中断向量7(S0显示结果为7),7号设备收到中断响应信号,灯B7灭。图3.2 多个中断同时发生中断屏蔽有效时的仿真结果如图3.3所示。5,6,7号中断均被屏蔽,当有被屏蔽的中断产生时,不参与优先级的比较。所以在4,5,6,7号中断源同时发出中断请求时,响应4号中断。图3.3 中断屏蔽有效参考文献1 俸远祯. 计算机组成原理与汇编语言程序设计M.北京
21、:中央广播电视大学出版社,20022 李芷,杨文显,卜艳萍. 微机原理与接口技术M.北京:电子工业出版社,20053 李平. 电子设计自动化快速入门教程M.北京:高等教育出版社,20034 百中英. 计算机组成原理(第三版)M.北京:科学出版社,20055 史士英. 计算机组成原理与系统结构M.北京:国防工业出版社,20066 易小琳, 朱文军, 鲁鹏程. 计算机组成原理与汇编语言M.北京:清华大学出版社,2009.037 颜志英. 微机系统与接口技术M.北京:清华大学出版社,2009附录(电路原理图)课程设计总结:通过这次课程设计,我对计算机有了更深刻的认识,也再次感受到硬件技术对计算机发展
22、的决定性作用。作为一名计算机科学与技术的学生,不仅要学好软件课程,更应该明白硬件是怎样实现的。这样才能做到知其然,也知其所以然。这次课程设计,我做的这个题目并不难,但由于开始对实验的软硬件环境不熟悉,所以在学习工具方面花的时间比真正画原理图的时间还多。这也暗示我们在平时应该学习更多的东西,而不仅仅是把考试课过了就完事。当然,在做一件事前,我们不可能有万全的准备,在遇到问题后多思考、多实践、多学习,才能不断进步。选择了计算机专业,也就选择了终生学习。不管做什么事,充满好奇心总是好的。当然,态度决定一切。用好的心态去做一件事,我想做起来一定会更轻松。其实很多事,只需要认真就可以做好的。指导教师评语:指导教师(签字): 年 月 日课程设计成绩
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1