版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
POC实验报告目录TOC\o"1-5"\h\z\o"CurrentDocument"目录 1-1\o"CurrentDocument"1 实验目的 1-1\o"CurrentDocument"2 实验任务 2-1\o"CurrentDocument"3 架构说明 3-2\o"CurrentDocument"4 仿真信号设计与结果分析 4-3\o"CurrentDocument"4.1打印机模块 4-3\o"CurrentDocument"4.1.1 仿真信号说明与设计 4-3\o"CurrentDocument"4.1.2 仿真结果与分析 4-3\o"CurrentDocument"4.2POC模块 4-3\o"CurrentDocument"4.2.1 仿真信号说明与设计 4-3\o"CurrentDocument"4.2.2 仿真结果与分析 4-4\o"CurrentDocument"4.3整体模块 4-4\o"CurrentDocument"5 总结与补充 5-4\o"CurrentDocument"5.1查询模式 5-5\o"CurrentDocument"5.2中断模式 5-5\o"CurrentDocument"6 附录 6-61 实验目的本实验的目的是设计一块简易的POC(并行输出控制器),从而连接系统总线和打印机。通过本次实验,可以初步了解输入输出、存储模块的设计,为接下来CPU的设计奠定良好的基础。2实验任务利用ISE和VHDL语言设计出POC模块和打印机模块,并且通过仿真测试并验证其主要功能的实现。仿真主要以中断响应工作模式为主。而查询模式也需要了解,这部分分析内容都将放在总结环节。
3架构说明top:1top整体由POC、Printer两个模块组成,整体的输入端口有:CS:片选,实际情况为地址总线13A:寄存器选取;D_bus:数据总线;CLK:时间信号;R_W:读取/写入控制,0为读取,1为写入;输出端口为:IRQ:中断请求信号,低电平有效;CNT:计数器,用于模拟打印机的忙碌情况。4仿真信号设计与结果分析4・1打印机模块4・1・1仿真信号说明与设计RDY:输出信号,当Printer处于空闲状态时为1,工作状态为0;TR:输入信号,表示准备传输数据,设置为保持一个时钟周期;PD:输入信号,表示当前准备打印的数据;CLK:时钟信号,虽然设计图上没有,但为了模拟打印机工作采用了计数器,相应的也暂时引入了时钟信号。CNT:输出信号,用以模拟打印机的过程,输出用以更直观的表示。4.1.2仿真结果与分析②当PD数据填充完毕后,TR脉冲信号到来;TR脉冲上升沿到来的同时,RDY信号置为0,表示正在忙碌;此时打印机开始打印,表示为ent计数,当计数完毕后RDY信号重新为1。POC模块4.2.1仿真信号说明与设计RDY:输入信号,用以判断打印机是否空闲CS:输入信号,表示片选,实际使用时为CPU是否选中该芯片(用前13根地址线)A:输入信号,地址线的后3位,表示实际选择哪个寄存器,本次设计001为选取数据寄存器,010为选取状态寄存器。CLK:时钟信号。CNT:输出信号,用以模拟打印机的过程,输出用以更直观的表示。
oooooaDi11OLO1DOHOLClDa1CJOOOP54.2.2仿真结果与分析oooooaDi11OLO1DOHOLClDa1CJOOOP5IMamgI$-I”]工sr_te:L7.C、弔d_bus[7:0]i叫、弔SB]■j^_:■;:il初始状态时,POC未被选中,打印机处于空闲状态,因此SR7被置为1,又由于默认工作在中断方式,因此在时钟上升沿之时便发出IRQ中断请求(低电平);发送请求后,CPU选中芯片(即前13地址线选中CS),将数据总线的数据准备好,之后选中数据寄存器(A为001),并将POC的读写状态设置为写;经过一个时钟周期后tr脉冲输出表示数据准备传送,并且数据输出口准备好数据,打印机也回到忙碌状态。4.3整体模块Namea[2:G]d_bus[JMjValue000111010100101ooaaNamea[2:G]d_bus[JMjValue000111010100101ooaaloooajrCkirqcnt[3.O]jdk_periodl首先,IRQ信号产生,CPU选中POC芯片,随后选中数据寄存器并写入数据,之后经过几个时钟后,打印机开始工作,计数器开始计数。而CPU又去处理其他的工作(中断工作模式的体现)。当打印机打印结束时,IRQ信号再度发出,等待CPU响应与再度传送数据。由于CPU当前也许正在进行不可中断的原子性操作,所以等待响应后再传送数据、再度打印是必要的。由此仿真了整个工作流程。由于更复杂的仿真过程需要CPU的设计与介入,在此无法展示,我将在下文做相关文字补充。5总结与补充通过仿真,我们对POC的工作方式和细节有了进一步的了解。然而,由于本次实验没有对CPU的特殊要求和说明,导致无法通过仿真的方式清晰的体现出中断方式和查询方式的具体区别。所有本应CPU输出、处理、反馈的信号都由人手工输入代替。因此,下面将对两种工作模式结合CPU作进一步阐述与补充。5.1查询模式首先,CPU收到有关程序的请求,准备通过I/O接口联系POC模块,试图打印有关内容。CPU访问POC的相关状态寄存器(SR7),查看POC目前是否处于空闲状态。如果是,那就准备打印,否则,CPU处于轮询的状态。该进程内的每一个指令周期,CPU都在查询POC是否空闲,并不做其他的事情,直到POC处于空闲,并允许传输数据为止。当CPU了解POC已准备就绪时,CPU便将有关内容分块传输到POC的数据缓存中。由于实际文件数据量较大,CPU将持续处于“轮询—传输—轮询—传输”直到文件打印完毕为之。对于已经传输到POC的数据段,POC并不能立刻将其提交给打印机,因为当前打印机可能处于忙碌状态。当打印机用完当前数据(可能仅为一行)后,RDY信号为高电平,POC再将本段数据提交给打印机继续操作。通过POC的TR信号和PD数据输出传送给打印机,再通过RDY信号判断当前打印机是否用完目前的数据。如果用完了,就将SR7置为空闲状态,以方便CPU提供新数据,否则SR7处于忙碌状态。至此,整个查询模式的工作方式描述完毕。中断模式首先,CPU在某个时间点将POC的SR0置为1,即命令POC工作在中断模式。之后的前小部分和查询模式相同,CPU收到有关程序的请求,准备通过I/O接口联系POC模块,试图打印有关内容。CPU访问POC的相关状态寄存器(SR7),查看POC目前是否处于空闲状态,如果是,那就准备打印。如果POC忙碌,CPU则继续忙其他的工作。由于POC事先已被CPU设置为中断模式,一旦POC处于空闲态,则会向CPU发出中断请求。此时,CPU会通过查中断向量表得知,是POC模块发出的请求,处理完当前的原子性操作或更高级的中断请求后,则响应POC中断,选中POC芯片进行有关操作。由于实际文件数据量较大,CPU仍然会分块传输数据。此时CPU传完数据后继续忙其他工作,直到下一个中断来临。整个工作将持续处于“中断—传输—中断—传输”直到文件打印完毕为之。具体的POC处理和前文类似,不再多言。最后需要额外指出的是,对于多文档打印,打印队列由更高一层的操作系统控制,无关物理底层的实现,因此可不用在此讨论。结论本项仿真设计完成了任务的基本要求,实现了POC和Printer的设计,并且通过了测试,达到了预期的效果。6附录libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;--UncommentthefollowinglibrarydeclarationifusinglibraryIEEE;useIEEE.STD_LOGIC_1164.ALL;entitytopisPort(CS:inSTD_LOGIC;A:inSTD_LOGIC_VECTOR(2downto0);D_bus:inSTD_LOGIC_VECTOR(7downto0):="00000000";R_W:inSTD_LOGIC;CLK:inSTD_LOGIC;IRQ:outSTD_LOGIC:='1';CNT:outSTD_LOGIC_VECTOR(3downto0));endtop;architectureBehavioraloftopiscomponentpocPort(CS:inSTD_LOGIC;A:inSTD_LOGIC_VECTOR(2downto0);D_bus:inSTD_LOGIC_VECTOR(7downto0):="00000000";R_W:inSTD_LOGIC;CLK:inSTD_LOGIC;IRQ:outSTD_LOGIC:='1';D_out:outSTD_LOGIC_VECTOR(7downto0);TR:outSTD_LOGIC;RDY:inSTD_LOGIC;SR_Test:outSTD_LOGIC_VECTOR(7downto0));endcomponent;componentprinterPort(RDY:outSTD_LOGIC;TR:inSTD_LOGIC;PD:inSTD_LOGIC_VECTOR(7downto0);CNT:outSTD_LOGIC_VECTOR(3downto0);CLK:inSTD_LOGIC);endcomponent;signalm_D_out:STD_LOGIC_VECTOR(7downto0);signalm_TR:STD_LOGIC;signalm_RDY:STD_LOGIC;beginpoc_inst:pocportmap(CS=>CS,A=>A,D_bus=>D_bus,R_W=>R_W,CLK=>CLK,IRQ=>IRQ,D_out=>m_D_out,TR=>m_TR,RDY=>m_RDY);printer_inst:printerportmap(RDY=>m_RDY,TR=>m_TR,PD=>m_D_out,CNT=>CNT,CLK=>CLK);endBehavioral;/***************top.vhd结束****************/libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;entitypocisPort(CS:inSTD_LOGIC;A:inSTD_LOGIC_VECTOR(2downto0);D_bus:inSTD_LOGIC_VECTOR(7downto0):="00000000";R_W:inSTD_LOGIC;CLK:inSTD_LOGIC;IRQ:outSTD_LOGIC:='1';D_out:outSTD_LOGIC_VECTOR(7downto0);TR:outSTD_LOGIC;RDY:inSTD_LOGIC;SR_Test:outSTD_LOGIC_VECTOR(7downto0));endpoc;architectureBehavioralofpocissignalSR:STD_LOGIC_VECTOR(7downto0):="00000001";--默认中断工作状态signalBR:STD_LOGIC_VECTOR(7downto0):="00000000";signalDataInReady:STD_LOGIC:='0';signalm_work:STD_LOGIC:='0';signalm_cnt:STD_LOGIC:='0';signalm_hasRDY:STD_LOGIC:='0';beginSR_Test<=SR;process(SR,CS)begin--if(CS='1')then--if(rising_edge(CLK))thenif(SR(0)='1'andSR(7)='1')thenIRQv='O';--IRQ低电平表示中断elseIRQ<='1';endif;--endif;--endif;endprocess;process(RDY,m_hasRDY)beginendprocess;process(R_W,D_bus,CS,SR,m_cnt,m_work,m_hasRDY,RDY,CLK,DataInReady,BR)beginif(rising_edge(RDY))thenm_hasRDY<='1';endif;if(rising_edge(CLK))then--if(CS='1')thenif(m_hasRDY='1')thenm_hasRDY<='0';SR(7)<='1';m_cnt<='0';m_work<='1';endif;if(m_work='1')thenif(m_cnt='0')thenm_cnt<='1';elseSR(7)<='0';endif;if(CS='1')thenif(R_W='1')then--1为写数据if(A="001")then--001为BRBR<=D_bus;DataInReady<='1';m_work<='0';elsif(A="010")thenSR<=D_bus;endif;else-- if(A="001")then--010为SR-- D_bus<=BR;-- elsif(A="010")then-- D_bus<=SR;-- endif;endif;endif;endif;--if(rising_edge(CLK))thenif(DataInReady='1')thenDataInReady<='0';TR<='1';D_out<=BR;elseTR<='0';endif;--endif;endif;endproce
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级数学下册 23.1多边形(原卷版)
- 大型活动策划执行SOP全流程
- 物流成本控制与仓储网络布局优化模型分析
- 2026年大型塔吊安装拆卸专项施工方案
- 智能可视对讲分机赋能智慧养老:破解独居看护难题
- 高血压患者睡眠质量改善方案
- 智能宠物按摩梳出海欧洲:GDPR合规与高端市场品牌下沉
- 电力可靠性管理在应急供电中的应用
- 智能pH调节计量泵赋能养老护理:银发族健康监测数据闭环构建
- 2025年山东中医药高等专科学校高职单招职业技能考试模拟试卷含完整答案详解【网校专用】
- 2025中国网安(含中国电科三十所)校园招聘200人笔试历年备考题库附带答案详解
- 揭阳市惠来县卫生健康事业单位招聘笔试真题2025
- 建筑施工项目安全管理手册2024
- 2026版《药物临床试验质量管理规范》GCP考试题库(含标准答案+解析)
- 新版2026年(全国一卷)高考英语阅读理解D篇 真题解读+答题技巧+变式练习(解析版)
- 癫痫诊疗指南(2025年版)
- 2026年全国标准化知识竞赛试题库(含答案)
- 2026年公文写作考试题库(含答案)
- 2026年困境青少年帮扶救助工作方案
- 合作社安全防火责任制度
- 心电图与未来心脏病防治
评论
0/150
提交评论