EDA实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

课程名称:EDA实验

实验题目:EDA实验总结

学生姓名:裴彬彬学号:20101050045

物理科学技术学院物理系2010 级电子科学与技术专业

指导教师:陈永康

实验时间:2013 年

实验地点:物科学院3414

一:3-8译码器

实验程序:

module no1(y,en,a) ;

output [7:0]y ;

input en ;

input [2:0]a;

reg[7:0] y ;

always @ (en or a)

if (!en)

y = 8'b1111_1111 ;

else

case(a)

3'b000 : y = 8'b1111_1110 ;

3'b001 : y = 8'b1111_1101 ;

3'b010 : y = 8'b1111_1011 ;

3'b011 : y = 8'b1111_0111 ;

3'b100 : y = 8'b1110_1111 ;

3'b101 : y = 8'b1101_1111 ;

3'b110 : y = 8'b1011_1111 ;

3'b111 : y = 8'b0111_1111 ;

default : y = 8'bx ;

endcase

endmodule

波形:

实验总结:

1.编程中在使用CASE语句时,容易将ENDCASE语句忘掉,导致程序错误。

2.在文件名必须与VHDL文件中的设计实体名保持一致。

二:4位并行乘法器

实验程序:

module no2(a,b,y);

input [3:0]a;

input [3:0]b;

output [7:0]y;

assign y=a*b;

endmodule

波形:

实验总结:

本实验学习了assign语句的使用方法和使用条件。三:补码生成

实验程序:

module no3 (a,y);

input [7:0]a;

output [7:0]y;

reg [7:0]y;

always@(a[7])

begin

if(a[7]==0)

y=a;

else

y={a[7],~(a[6:0])+1};

end

endmodule

波形:

实验总结:

在验证结果的过程中,对于二进制的补码转换过程中容易产生错误,但是只要仔细对比就会发现转换过程无误。

四:32位任意分频器

实验程序:

module no4 (clk,din,out,load);

input clk,load;

input [3:0]din;

output out ;

reg [3:0]q1,q2;

reg out;

always@(posedge clk)

begin

if(load==0)

q1<=din;

else if(q2==q1&&q2!=0)

begin

out<=1'b1;

q2<=0;

end

else

begin

out<=1'b0;

q2<=q2+1;

end

end

endmodule

波形:

实验总结:

通过此次实验熟练掌握了 QuartusII 的设计流程和对verilog 语言的理解法分析能力。也了解到一些关于数控分频器的原理、对数控分频器的分析和测试方法。

五:T触发器

实验程序:

module no5 (in1,clk,y);

input in1,clk;

output y;

reg y;

always@(posedge clk)

if(in1==1)

y=!y;

else

y=y;

endmodule

波形:

实验总结:

调试程序时程序有很多错误,主要是文件名、实体名和触发器的顶级实体名不一致导致程序进行仿真错误,把工程名改为no5就行了。

六:计数器

实验程序:

module no6(in,out,clk);

input in,clk;

output [3:0]out;

reg [3:0] out;

always@(posedge clk)

begin

if(in==1)

out=0;

else

out=out +1;

end

endmodule

波形:

实验总结:

这次试验要求我们必须有耐心,因为整个过程中会犯很多错误,我们必须静下心来仔细检查,发现并改正错误,错误面前我们必须保持冷静的头脑,不能急躁,严格按照已定步骤走,有计划,有目的。

七:多位数值比较器

实验程序:

module no9(a,b,out);

input[2:0]a;

input[2:0]b;

output out;

reg out;

always@(a,b)

begin

if(a[2]>b[2])

out=1;

else if (a[2]

out=0;

else if(a[1]>b[1])

out=1;

else if(a[1]

out=0;

else if(a[0]>b[0])

out=1;

else if(a[0]

out=0;

else out=1'hz;

end

endmodule

波形:

相关文档
最新文档