串并转换电路
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作业二——串-并转换电路
一.实验内容:
实现一个串-并转换电路,当输入信号A为1时,串行输入D的值,输入4 bit之后,并行输出Z,同时DONT输出为1。运用状态分析,共三个状态:state0,state1,state2。
设计testbench,检验输出波形。
二.实验代码:
1.修改的core代码如下:
2.设计的testbench代码如下:
其中,输入信号A和D是通过定义寄存器AM和DM,然后寻址获取数值。a.给复位信号R,时钟信号CLK赋值代码:
b.给输入信号A和D赋值代码:
三.仿真波形
1.总的波形
分析:从这幅图中可以看出,当R=1时,所有的信号复位成0,状态为0,之后当A=1给出ready信号之后,开始串行读数,四个时钟周期后,将数值并行输出到Z,同时DONT变为1,回归状态0。之后再次等待ready信号A=1,如此循环,实现串-并转换。波形正确。
2.第一个并行输出放大波形:
分析:从这幅图中可以看出,当时钟上升沿读取到A=1,说明准备好读入D 的数值了,D分别为:1,0,1,1,四个时钟之后,Z并行输出1011,同时DONT输出为1,之后回归到状态0,重新开始准备读数。
3.第二个并行输出波形:
分析:这幅图中,当Z输出1011之后,下一个时钟上升沿,虽然D为1,A 也为1,但是由于此时刚读入状态为0,因此还没有开始读数,而是在下一个时钟沿时开始串行读入D,一次读入D为:0,0,1,1,所以最后输出不是1001,而是0011。