实验题目:
-
找出并理解Latch产生的情形;
-
设计实验探究if和case语句在时间和电路上的区别;
-
探索阻塞和非阻塞赋值的区别等;
一、实验目的
- 熟悉Vivado软件设计与仿真;
二、实验内容
实验步骤
- 编写文本文件并编译
- 软件仿真
实验原理:
lab1:四选一,case语句进行实现,覆盖所有case
RTL图:
波形图:
lab2:四选一,case语句进行实现,不覆盖所有case
RTL图:
产生latch。
lab3:四选一,if语句进行实现
RTL图:
可以看到,整个逻辑图比case语句的逻辑图,要长的多,因为case语句为并行判断,而if语句为串行判断。
lab4:非阻塞赋值和阻塞赋值区别,移位同步时序电路
阻塞赋值在always中的赋值是按照顺序进行执行,后面的赋值受前面赋值的影响,而且如果前面赋值没有结束,后面的赋值会受到影响。
非阻塞赋值在always中的赋值是并行执行的,所有的赋值都是按照时钟前一拍寄存器的数值进行。