一、实验目的
本实验的目的是设计并仿真一个并行输出控制器(Parallel Output Controller, POC),它作为CPU系统总线和打印机之间的接口。本实验基于Xilinx Vivado软件进行设计与仿真,目的之一也是熟悉并掌握该软件的使用方法。
二、实验内容
POC(并行输出控制器)是最常见的I/O模块之一,在计算机中,I/O模块承担在不同设备之间传递控制和数据信号的任务。针对CPU而言,I/O模块承担着CPU和外设的接口工作。
图二中的“握手”协议是:当Printer准备好接受POC传来的字符时,将RDY置高为1并保持,然后POC在PD寄存器上存入一个字符(8bit的数据),并在TR上输出一个上升沿脉冲,表示POC已经开始在传输数据了。当Printer检测到TR的上升沿信号后,就将PD寄存器上的数据取来,并把RDY保持为0直到这个字符被打印完为止。当完成打印后就可以准备接受下一个字符时,再将RDY置为1并保持,然后过程同上。
BR是缓冲寄存器(Buffer Register),用于临时存储从CPU传来的字符,然后再通过BR将字符传输给Printer。