资源描述:
《veriloghdl实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VerilogHDL数字系统设计实验报告汇总任课教师实验者姓名学号实验指导教师评阅VerilogHDL数字系统设计报告1姓名学号时间地点实验题目阻塞赋值与非阻塞赋值的区别一.实验目的与要求(1)通过实验,掌握阻塞赋值与非阻塞赋值的概念与区别;(2)了解非阻塞赋值和阻塞赋值的不同使用场合;(3)学习测试模块的编写,综合和不同层次的仿真。二.实验环境仿真软件:modlsim6.2SE三.实验内容阻塞赋值与非阻塞赋值,在教材中已经了解了他们之间在语法上的区别以及综合后所得到的电路结构上的区别。在always块中,阻塞赋值可
2、以理解为赋值语句是并发执行的。时序逻辑设计中,通常都使用非阻塞赋值语句,而在实现组合逻辑的assign结构中,或者always快结构中都必须采用阻塞赋值语句。四.系统框图五.实验波形图六.实验体会(1)一开始使用modelsimSE6.2时候不知道建立工作区的方法。后面请教了毕老师才知道如何来建立工作区。(2)编译时候错误看不懂,细心找才发现‘`两个符号有区别(3)波形找不到,后来发现时没有放大。七.代码附录:源代码://----------模块源代码:----------------------//--------
3、-----blocking.v---------------moduleblocking(clk,a,b,c);output[3:0]b,c;input[3:0]a;inputclk;reg[3:0]b,c;always@(posedgeclk)beginb=a;c=b;$display("Blocking:a=%d,b=%d,c=%d",a,b,c);endendmodule//-------------non_blocking.v-------------------modulenon_blocking(clk,
4、a,b,c);output[3:0]b,c;input[3:0]a;inputclk;reg[3:0]b,c;always@(posedgeclk)beginb<=a;c<=b;$display("Non_Blocking:a=%d,b=%d,c=%d",a,b,c);endendmodule测试模块://----------测试模块源代码:--------------------------//-------------compareTop.v-----------------------------`timesc
5、ale1ns/100ps`include"./blocking.v"`include"./non_blocking.v"modulecompareTop;wire[3:0]b1,c1,b2,c2;reg[3:0]a;regclk;initialbeginclk=0;forever#50clk=~clk;//思考:如果在本句后还有语句,能否执行?为什么?endinitialbegina=4'h3;$display("____________________________");#100a=4'h7;$display("
6、____________________________");#100a=4'hf;$display("____________________________");#100a=4'ha;$display("____________________________");#100a=4'h2;$display("____________________________");#100$display("____________________________");$stop;endnon_blockingnon_bloc
7、king(clk,a,b2,c2);blockingblocking(clk,a,b1,c1);endmodule评阅VerilogHDL数字系统设计报告2姓名学号时间地点实验题目利用状态机实现比较复杂的接口设计一:实验目的与要求(1)学习运用由状态机控制的逻辑开关,设计出一个比较复杂的接口逻辑;(2)在复杂设计中使用任务(task)结构,以提高程序的可读性;(3)加深对可综合风格模块的认识。二.实验环境仿真软件:modlsim6.2SE三.实验内容设计一个并行数据转换为串行位流的变换器,利用双向总线输出。(1)把并
8、行地址存入寄存器。(2)把并行数据存入寄存器。(3)连接串行单总线(4)地址的串行输出(5)数据的串行输出(6)给信号源应答(7)让信号源给出下一个操作对象(8)结束操作四.系统框图输出译码器状态寄存器状态译码器inputsoutputsclk五.实验波形图六.实验体会(1)实验代码很长,在检验的时候由于注前面的中文注释用的空格是中文空格而导致