1、作业二 串-并转换电路一实验内容:实现一个串-并转换电路,当输入信号 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 时,所有
2、的信号复位成 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。