- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Freeze是锁存? 提示: 这里我们设置一个中间变量,nmr[7..0]来保存未被屏蔽掉的中断请求,并按照 不同的优先级设置选出当前优先级最高的请求。其定义如下。 wire[7:0] nmr; assign nmr = ~mask request; * 提示: 由中断服务寄存器提供的isr信号,并结合当前的中断优先级设置,选出具有 最高优先级的中断来与前面选出的具有最高优先级中断请求进行比较,并根据比较结果来确定是否想CPU发送中断信号 * 提示: state信号用来寄存当前8259A的操作状态,并根据这一状态以及相关的条件 转移到下一状态。同时8259A根据当前所处的状态来执行初始化命令或操作命令。我们用clk信号来检测CPU发送给8259A的初始化命令以及用户通过编程发送给8259A的操作命令,clk定义如下: // 写ICW1, OCW2,OCW3 assign write1 = (~cs ~wr rd ~a0) ? 1 : 0; // 写ICW2~ICW4,OCW1 assign write2 = (~cs ~wr rd a0) ? 1 : 0; assign clk = write1 | write2; * 提示: read1和read2信号用来监测CPU发送的读信号,其定义如下 // 读IRR, ISR, 查询字 assign read1 = (~cs wr ~rd ~a0) ? 1 : 0; // 读IMR assign read2 = (~cs wr ~rd a0) ? 1 : 0; * 提示: 当CPU发写OCW1命令时,o1信号有效,此时将OCW1的内容写入中断屏蔽 寄存器,o1信号的定义入下: wire o1; // OCW1中断屏蔽操作字 assign o1 = state == 5 write2; * 怎样使输出结果显示为16进制 * * * * 5.优先级判别电路的设计(6/6) 设计仿真 对优先级判别器进行时序仿真,验证设计的正确性 6.读写控制电路的设计 功能:读写控制电路是8259A的内部控制器,控制8259A的内部工作过程。整个8259A芯片就是在控制电路的控制下构成一个有机的整体并完成中断优先级的管理功能。 设计思路:控制电路根据IRR寄存器中的置位情况和中断屏蔽寄存器IMR的设置情况,通过优先级判别器PR进行优先级判别,并根据判别结果向8259A内部各部件发出控制信号,并向CPU发出中断申请信号INT和接收 * * 6.读写控制电路的设计(1/16) CPU的中断响应信号,使中断服务寄存器ISR寄存器中的相应位置“1”,使IRR寄存器中中相应的位清“0”。当第二个中断响应信号到来时,控制8259A向数据总线送出中断类型号,以便CPU形成中断服务程序的入口地址。 读写控制电路有一个core控制模块和三态门以及输入输出端口组成。 读写控制器core.v: 主要输入输出端口定义: input cs; //片选信号 input rd, wr; //读写信号 intput inta; //中断响应 intput a0; //奇偶地址选择 input reset; //重置 * * 6.读写控制电路的设计(2/16) input[7:0] isrset; //中断服务寄存器 input[2:0] code; //中断源编号 input[7:0] datain,busdatain; output ltim; //中断触发方式 output sm; //中断屏蔽方式 output rd_isr; //读中断服务寄存器 //读,写,清除中断屏蔽寄存器 output rd_imr, wr_imr, clr_imr; ouput rd_irr; //读中断请求寄存器 ouput[7:0] eoi //发中断结束 output[7:0] setzero; //清除中断请求寄存器 output[2:0] sp; //中断优先级设置 * * 6.读写控制电路的设计(3/16) 读/写控制电路的设计比较复杂,下面介绍其实现过程。 8259A的编程由编程命令实现。其编程命令有两类:初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3。在中断系统进入正常运行之前,系统需要对每一个8259A都进行初始化 //初始化自动机 always @(posedge clk or posedge reset) begin if(reset) state = 1; else begin case(state) 1 : // 初始化ICW1过程,设置芯片控制初始化命令字 if(write2) // 进入初始化ICW2过程 2 :
有哪些信誉好的足球投注网站
文档评论(0)