文档详情

硬件描述语言作业.doc

发布:2016-12-18约字共25页下载文档
文本预览下载声明
硬件描述语言上机作业 班级:1314011 学号 姓名:梁全振 时间:2015年10月28号 《硬件描述语言》上机作业 报告总体要求: 设计仿真基于Modelsim工具; 提供每一道题目的Verilog 电路设计代码、仿真测试代码和仿真结果,仿真结果用截图的方式。 设计报告封面写上学号和姓名。 提交email: hltang@xidian.edu.cn。 第一题:用Verilog语言的结构描述和行为描述分别设计下面的电路。 结构描述: 电路设计代码: module jg(A,B,Y); input[2:0] A,B; output Y; wire w1,w2,w3; xor U1(w1,A[0],B[0]); xor U2(w2,A[1],B[1]); xor U3(w3,A[2],B[2]); nor U4(Y,w1,w2,w3); endmodule 仿真测试代码: module test_jg; reg[2:0] A,B; wire Y; jg U1(A,B,Y); initial begin A=3b000;B=3b000; #50 A=3b000;B=3b000; #50 A=3b111;B=3b111; #50 A=3b000;B=3b110; #50 A=3b111;B=3b000; #50 A=3b110;B=3b110; #50 A=3b011;B=3b010; #50 A=3b001;B=3b011; #50 A=3b111;B=3b010; #50 $stop; end initial $monitor($time,\tA=%d\tB=%d\tY=%d,A,B,Y); endmodule 验证结果: 行为描述: 电路设计代码: module xw(A,B,Y); input[2:0] A,B; output Y; wire Y; assign Y=~((A[0]^B[0])||(A[1]^B[1])||(A[2]^B[2])); endmodule 仿真测试代码: module test_xw; reg[2:0] A,B; wire Y; xw U1(A,B,Y); initial begin A=3b000;B=3b000; #50 A=3b000;B=3b000; #50 A=3b111;B=3b111; #50 A=3b000;B=3b110; #50 A=3b111;B=3b000; #50 A=3b110;B=3b110; #50 A=3b011;B=3b010; #50 A=3b001;B=3b011; #50 A=3b111;B=3b010; #50 $stop; end initial $monitor($time,\tA=%b\tB=%b\tY=%b,A,B,Y); endmodule 验证结果: 第二题:参数化电路设计 用行为描述方式实现下图所示的具有“one-hot”(独热)状态的环形计数器。要求使用参数化的模块。 parameter SIZE =3; input clock, reset; output [SIZE-1:0]counter; 说明:低电平同步复位,此时counter最低位为“1”,其余位均为“0”。 编写测试程序来验证该模块的正确性,要求测试对象是一个5位的独热状态环形计数器。 电路设计代码: module one_hot(counter,clock,reset); parameter SIZE =3; input clock, reset; output[SIZE-1:0]counter; re
显示全部
相似文档