该文档是一个关于使用Vivado平台和VHDL语言设计并仿真验证POC(Proof of Concept)电路的实验报告。POC电路是一个简单的接口模块,它连接了一个Processor和一个Printer,用于数据传输和状态管理。实验的目标是让学生理解输入输出、存储模块的设计,并为后续的CPU设计打下基础。
POC模块是整个系统的核心,它包含两个寄存器:Buffer Register (BR) 和 Status Register (SR)。BR用于存储8位要打印的数据,而SR则存储POC的状态信息。ADDR信号用于选择要访问的寄存器(SR或BR),RW信号控制读写操作,Din和Dout用于数据传输,CLK是时钟信号,IRQ是中断请求信号,PD用于传输到Printer的数据,TR是数据传输请求,而RDY是Printer的准备提示信号。
实验中,Processor模块负责设置POC的工作模式,可以是查询方式或中断方式。在查询方式下,Processor通过读写信号和地址信号来检查POC的状态,并在POC准备好时将数据传输给BR。而在中断方式下,Processor在接收到中断请求后直接传输数据,无需检查状态。
POC模块响应Processor的控制信号,根据SR中的数据确定工作模式。在数据传输完成后,POC会向Printer发送TR信号,并在Printer准备好接收数据时通过PD发送数据。同时,POC会调整自己的状态,准备接收Processor的新数据。
Printer模块在准备好接收新数据时,通过设置RDY信号为1来提示POC。在接收到TR信号后,Printer接收数据并开始打印,之后再次将RDY设为1,表示已准备好接收新的数据。
设计过程中,还需要创建一个仿真文件,将Processor、POC和Printer作为COMPONENT定义,并通过引脚映射连接它们,实现三者的联合仿真。仿真会包括控制Processor切换POC的工作模式,以及改变要打印的数据,并生成波形图以直观展示各模块的工作流程。
在设计描述部分,Processor有输入信号ifre用于重置操作,insr和inbr用于传输数据以设置SR和BR寄存器。IRQ信号接收来自POC的中断请求。这个实验设计旨在让学生通过实践深入理解VHDL编程和数字系统设计的基本原理,特别是如何在Vivado环境下构建和仿真复杂的数字逻辑组件。