数字电路实验报告

发布时间 : 星期三 文章数字电路实验报告更新完毕开始阅读

连接至74273片,每次计数器时钟一个节拍输出一次,相当于每八位串行数据输出一次。当读入终止码时,触发jk触发器,关闭计数器,即不在触发74273输出。

描述语言设计时则相对简单,我们采用一个八位寄存器来保存输入数据,当读到起

始码时进行判断,并将判断寄存器置1,计数寄存器置0并开始计数,每计数八次将寄存器中的存值输出。读到终止码时,将判断寄存器置0,不再输出。

实验实现:

1.利用Quartus II 工具,画出实验的TTl电路如下图

经过编译仿真之后,仿真波形图如下图:

21

分析波形图可知,当输入依次为10011001时,开始计数,然后再8个周期之后,即下一个八位数据进入之时,将此时输入的8位数据并行输出。由图像可知,将后面的两个8位数据依次输出,没有出现错误,当依次输入01100110的时候,停止并行输出,并且输出为零。

2. verilog实现

module crbc(numin,numout,clk);

input numin,clk; output reg [7:0] numout;

reg [7:0] num; reg [3:0] j;

22

reg state;

always @(posedge clk) begin

num = (num << 1) + numin;

if(num == 8'b01100110) begin

state = 1; j = 0 ; end

if(num == 8'b10011001) begin

state = 0; numout = 0; j = 0 ; end

if(j == 8 && state ==1) begin

numout <= num; j = 0; end

23

j = j+1; end

endmodule

代码就是比较简单的verilog代码,每一次输入一个数据,就将8位的寄存器左移一位,然后加上新输入的一位,检测是否符合开启并行输出的条件,然后计数8个周期,输出输入的串行数据。

编译仿真之后的波形图

同上面TTL电路图的波形图,当输入为01100110的时候,开启并行输出,开始计数,8个周期之后输出串行数据,连续并行输出两个8位串行数据并没有出现错误。 实验小结:

本实验是设计8位串入并出,实验并不困难,但是加深了我们对时序逻辑电路的理解,以及数据在计算机中传播的认识。

24

联系合同范文客服:xxxxx#qq.com(#替换为@)