Verilog实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告格式要求
一、实验报告内容包括:
(1)实验名称。
(2)实验目的。
(3)实验仪器及编号。写明仪器名称、型号、编号。
(4)实验原理。简单叙述有关实验原理(包括电路图或光路图或实验装置示意图)及测量中依据的的公式,式中各量的物理含义及单位,公式成立所应满足的实验条件等。
(5)实验内容及步骤。根据实验内容及实际的实验过程写明关键步骤和安全注意要点。
(6)实验观测记录。记录原始测量数据、图形等有关原始量,形式上要求整齐规范。
(7)数据处理结果。根据实验要求,采用合适的方法进行数据处理,误差分析,最后写出实际结果。
(8)小结或讨论。内容不限。可以是实验中的现象分析,对实验关键问题的体会,实验的收获和建议,也可解答思考题。
二、书写次序
(1)到(5)是进行实验预习时就应该完成的。(6)在实验中完成。做完实验后再在预习报告基础上完成(7)(8)两项。
完成一个实验,就是一次最基本的科研训练,从预习到写出一个实验报告,每一步都有极其丰富的学习内容,要积极思考,认真对待。
实验(一)简单的组合逻辑设计
实验日期2014-10-31 同组者姓名
一、实验目的
[1] 掌握基本组合逻辑电路的实现方法
[2] 初步了解两种基本组合逻辑电路的生成方法
[3] 学习测试模块的编写
[4] 通过综合和布局布线了解不同层次仿真的物理意义
二、实验仪器
计算机、FPGA开发板
三、实验内容
[1] 在ISE软件环境中进行一次完整的设计流程,并在FPGA开发板上实现与门的功能。
[2] 完成一个可综合的数据比较器的程序。
[3] 完成数据比较器的测试模块。
[4] 发挥部分:设计一个多位(2位)的数据比较器并在FPGA开发板上实现该比较器。
四、实验步骤、分析及结果(在下面写出你的代码)
代码:
module compare(
input a,
input b,
output c
);
assign c=a&b;
endmodule
结果如图所示:
拓展代码如下:
module compare( Y ,A ,B ); input [1:0] A ;
input [1:0] B ;
output reg [1:0] Y ; always @ (A or B )
begin
if ( A > B )
Y <= 3'b01;
else if ( A == B)
Y <= 3'b10;
else
Y <= 3'b11;
end
endmodule
结果如下:
指导师(签名)时间
实验(二)简单分频时许逻辑电路的设计
实验日期2014-11-7 同组者姓名
一、实验目的
[1] 掌握最基本时序电路的实现方法。
[2] 学习时序电路测试模块的编写。
[3] 学习综合和不同层次的仿真。
二、实验仪器
计算机、FPGA开发板。
三、实验内容
[1] 设计一个实现2分频时序逻辑电路。
[2] 完成2分频时序电路的测试模块。
[3] 发挥部分:设计一个实现225次分频的电路,并在FPGA开发板上实现,用信号灯的闪烁来观察分频的结果。考虑不同暂空比分频的结果。
四、实验步骤、分析及结果(在下面写出你的代码)
代码:
module div_2 (clk_out,clk,reset);
output reg clk_out;
input reset;
input clk;
always @ (posedge clk or posedge reset)
if (reset)
clk_out=0;
else
clk_out= ~clk_out;
endmodule
结果如图所示:
发挥部分:
module div_225(clk_out,clk,rst);
output reg clk_out;
input rst;
input clk;
reg [27:0] counter;
always @(posedge clk or posedge rst)
begin if (rst)
begin clk_out<=0 ; counter<=0; end
else if(counter==16777216)begin clk_out<=~clk_out ;counter<=0; end else counter<=counter+1 ;
end
endmodule
结果如图所示:
指导师(签名)时间
实验(三)利用条件语句实现计数分频时序电路实验日期2014-11-14 同组者姓名
一、实验目的
[1] 掌握条件语句在简单时序模块设计中的使用。
[2] 学习在Verilog模块中应用计数器。
[3] 学习测试模块的编写、综合和不同层次的仿真。
二、实验仪器
计算机、FPGA开发板。
三、实验内容
[1] 设计一个可综合的分频器,将50M系统时钟分频为1M的时钟。
[2] 完成50分频时序电路的测试模块。
[3] 发挥部分:设计一个模拟交通灯黄灯闪烁的电路,并在FPGA开
发板上实现,要求黄灯每1s闪烁一次(0.5s亮,0.5s灭)。
四、实验步骤、分析及结果(在下面写出你的代码)
代码:
module div50(
input clk,rst,
output reg clk_out
);
reg [5:0] counter;
always @(posedge clk or posedge rst)
begin
if(rst) begin clk_out<=0;counter<=0 ;end
else if(counter==24) begin clk_out<=~clk_out;counter<=0;end
else counter<=counter+1;
end
endmodule
结果如图所示: