EDA 实验报告
实验四 四位十进制频率计
实验目的
1. 掌握四位十进制频率计的工作原理并能够用virlog 语言编写代码,进一步熟悉EDA6000实验箱的使用方法。
2. 进一步熟悉quartusII 建立程序编译、仿真及下载的操作流程并学会四位十进制频率计的Verilog 硬件设计。
3. 代码
module freqcounter(clk,uclk,ge_bit,shi_bit,bai_bit,qian_bit);
input clk,uclk;
output [3:0] ge_bit,shi_bit,bai_bit,qian_bit;
reg [3:0]ge_bit,shi_bit,bai_bit,qian_bit;
reg div,en,load,cls;
reg [3:0] A,B,C,D;
always @(negedge clk)
begin div=~div;
en=div;
load=~en;
cls=clk&load;
end
always @(posedge uclk or posedge cls)
begin
if(cls) begin
A=4'd0;B=4'd0;C=4'd0;D=4'd0; end
else if(en) begin A=A+4'd1;
if(A==4'D10) begin A=4'd0;B=B+4'd1; end
if(B==4'D10) begin B=4'd0;C=C+4'd1; end
if(C==4'D10) begin C=4'd0;D=D+4'd1; end
if(D==4'D10) begin D=4'd0; end
end
end
always @(posedge load)
begin
ge_bit=A;
shi_bit=B;
bai_bit=C;
qian_bit=D;
end
endmodule
实验步骤
1. 新建Verilog 工程,编写代码并保存至与模块名对应的文件夹。注意:项目应存为系统
盘以外的盘内,路径中不含中文字符。
2. 编译程序,编译无误后,在【tools 】里面选择RTL 视,观察电路结构。
3. 新建波形文件进行仿真。保存时要和源程序存放在同一目录下。设置好输入波形参数后,
开始仿真。在仿真后输入输出波形中观察逻辑关系是否正确。
4. 将实验箱和PC 合理连接起来。打开EDA6000软件,设置好芯片类型为ACEX1K (EP1K30
TC144-3),载入模式10.
5. 根据EDA6000界面内管脚对应芯片的实际管脚在QUARTUSII 里面设定管
脚号并检查无误。
实验心得
通过本次试验熟悉了十进制频率计的硬件结构和设计方法,了解了模块化代码风格和非结构化的编码方法,掌握了分频计、计数器以及顶层程序编码,进一步熟悉了virlog hdl 的本质,熟练了书上知识。
EDA 实验报告
实验四 四位十进制频率计
实验目的
1. 掌握四位十进制频率计的工作原理并能够用virlog 语言编写代码,进一步熟悉EDA6000实验箱的使用方法。
2. 进一步熟悉quartusII 建立程序编译、仿真及下载的操作流程并学会四位十进制频率计的Verilog 硬件设计。
3. 代码
module freqcounter(clk,uclk,ge_bit,shi_bit,bai_bit,qian_bit);
input clk,uclk;
output [3:0] ge_bit,shi_bit,bai_bit,qian_bit;
reg [3:0]ge_bit,shi_bit,bai_bit,qian_bit;
reg div,en,load,cls;
reg [3:0] A,B,C,D;
always @(negedge clk)
begin div=~div;
en=div;
load=~en;
cls=clk&load;
end
always @(posedge uclk or posedge cls)
begin
if(cls) begin
A=4'd0;B=4'd0;C=4'd0;D=4'd0; end
else if(en) begin A=A+4'd1;
if(A==4'D10) begin A=4'd0;B=B+4'd1; end
if(B==4'D10) begin B=4'd0;C=C+4'd1; end
if(C==4'D10) begin C=4'd0;D=D+4'd1; end
if(D==4'D10) begin D=4'd0; end
end
end
always @(posedge load)
begin
ge_bit=A;
shi_bit=B;
bai_bit=C;
qian_bit=D;
end
endmodule
实验步骤
1. 新建Verilog 工程,编写代码并保存至与模块名对应的文件夹。注意:项目应存为系统
盘以外的盘内,路径中不含中文字符。
2. 编译程序,编译无误后,在【tools 】里面选择RTL 视,观察电路结构。
3. 新建波形文件进行仿真。保存时要和源程序存放在同一目录下。设置好输入波形参数后,
开始仿真。在仿真后输入输出波形中观察逻辑关系是否正确。
4. 将实验箱和PC 合理连接起来。打开EDA6000软件,设置好芯片类型为ACEX1K (EP1K30
TC144-3),载入模式10.
5. 根据EDA6000界面内管脚对应芯片的实际管脚在QUARTUSII 里面设定管
脚号并检查无误。
实验心得
通过本次试验熟悉了十进制频率计的硬件结构和设计方法,了解了模块化代码风格和非结构化的编码方法,掌握了分频计、计数器以及顶层程序编码,进一步熟悉了virlog hdl 的本质,熟练了书上知识。