
EDA课程设计:利用VHDL语言实现同步串行数据发送电路
5星
- 浏览量: 0
- 大小:None
- 文件类型:ZIP
简介:
本课程设计通过VHDL语言编程,旨在实现一个同步串行数据发送电路。学生将掌握硬件描述语言的应用及通信协议的基础知识,提升数字电路的设计能力。
设计一个同步串行数据发送电路,系统结构如下:(略)
信号定义:
- WR: 写信号
- RD: 读信号
- D0~D7: 双向数据线
- A0: 地址线
假定以上信号与Intel8086和8031的读写时序兼容。
系统使用2.048MHz的Clock作为时钟源。
FS为同步信号,发送端T×D输出的数据流需与FS保持同步。
电路由发送保持寄存器(THR)和发送移位寄存器(TSR)组成。 THR有两种状态:空、满。
功能说明:
1. 当THR未满时可以向其中写入数据;一旦TSR为空且THR中有数据,则将数据从THR转移到TSR,然后通过T×D端以串行方式输出,高位在前。
2. 电路接收FS信号后连续发送四个字节的数据。这些字节由用户通过地址00H写入。当没有新同步信号时,线路保持空闲状态;接收到新的同步信号后再次开始数据传输过程。
3. 当无数据需要发送(即T×D线路处于空闲)时,电路将输出“7EH” (二进制形式为 01111110)。
说明:
- CLK 2M表示一个占空比为50%的2.04MHz时钟信号。每个比特的数据发送从CLK 2M上升沿开始。
- FS作为同步信号,当FS处于低电平时,在下一个CLK 2M上升沿处开始第一个字节的传输。
- FS周期为125μs,其低电平持续时间为244ns;FS下降沿位于CLK 2M的一个完整周期(高、低两个半周)中的中间位置。
要求:
1. 写入的数据分别为:03H, 36H, 7FH, 5AH;以及67H, D3H, 32H, 44H。
2. 在同一个进程中不能有两个事件发生。
3. 不使用after语句和变量,仅在testbench程序中例外。
全部评论 (0)


