《FPGA技术与工程应用》仿真实验一Word文档格式.docx
- 文档编号:17204280
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:14
- 大小:799.72KB
《FPGA技术与工程应用》仿真实验一Word文档格式.docx
《《FPGA技术与工程应用》仿真实验一Word文档格式.docx》由会员分享,可在线阅读,更多相关《《FPGA技术与工程应用》仿真实验一Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
(1)3-8译码器的Verilog模块:
//File:
decoder3x8.v
`timescale1ns/1ns
//模块名与文件名保持一致
moduledecoder3x8(YL,EN,C,B,A);
output[7:
0]YL;
inputEN,C,B,A;
reg[7:
0]YL;
reg[2:
0]code;
always@(*)
//或者:
always@(C,B,A)
always@(CorBorA)
begin
code={C,B,A};
//使用拼接运算
if(EN)
case(code)
0:
YL=8'
b1111_1110;
1:
b1111_1101;
2:
b1111_1011;
3:
b1111_0111;
4:
b1110_1111;
5:
b1101_1111;
6:
b1011_1111;
7:
b0111_1111;
//使用default避免产生不需要的锁存器
default:
b1111_1111;
endcase
else
//条件语句中的所有条件下都应有确定的输出,避免产生不需要的锁存器
end
endmodule
(2)3-8译码器的测试平台模块
tb_decoder3x8.v
moduletb_decoder3x8;
moduletb_decoder3x8();
//根据3-8译码器的真值表设计用于仿真的测试激励信号
//
(1)测试激励信号
reg[39:
0]stimulus=40'
b1111_1110_1101_1100_1011_1010_1001_1000_XXXX_0XXX;
0]temp_stim;
//声明用于对激励信号进行部分位选择的中间变量
reg[3:
0]en_din;
//声明用于模块之间(信号)互连的中间变量
//声明用于连接被调用的模块实例的输出端口中间变量
//连接模块的输出端口必须使用wire型变量
wire[7:
0]y_out;
//声明用于连接被调用的模块实例输入端口的中间变量
//连接输入端口的中间变量可以使用reg型或wire型变量
//这里使用reg型变量是为了可以在iniatial过程语句中进行赋值
regp_en,p_c,p_b,p_a;
//声明用于循环语句的循环控制变量
integeri;
//模块调用实例,使用命名端口连接,避免连接错误
decoder3x8m_decoder3x8(.YL(y_out),.EN(p_en),.C(p_c),.B(p_b),.A(p_a));
initial
for(i=0;
i<
10;
i=i+1)
begin
temp_stim=stimulus>
>
4*i;
//通过部分位选取,每次读取4位激励向量
en_din=temp_stim[3:
0];
//按位选取激励向量
p_en=en_din[3];
p_c=en_din[2];
p_b=en_din[1];
p_a=en_din[0];
#5;
//等待5个时间单位
end
initial//$monitor监控输出仿真结果
$monitor("
At%t,EN=%b,CBA=%b,YL=%b"
$time,p_en,{p_c,p_b,p_a},y_out);
3、使用ModelSim的设计和仿真过程
(1)启动ModelSim:
(2)改变当前工作目录到你选定的工作目录:
File→ChangeDirectory;
(3)建立一个工程:
File→New→Project;
(4)创建一个新文件(CreateNewFile),如果已经用文本编辑器提前建好的源程序,选择增加已存在的文件(AddExistingFile);
(5)文件添加完成,可以进一步编辑和修改Verilog源文件;
(6)编译Verilog文件,Compile→CompileAll如果有错误,除去Verilog代码中的所有错误。
(7)编译成功,开始仿真;
弹出“StartSimulation”对话框,如下图:
(a)选择work中的tb_decoder3x8模块;
(b)在Object(View菜单中)窗口中用ctrl+鼠标左键选择y_out、p_en、p_a、p_b、p_c,点击鼠标右键,加到波形窗口;
选择的信号加到波形观察窗口,同时波形(wave)窗口出现:
(8)点击波形窗口右上角的按钮:
,独立的波形窗口弹出:
(9)F9运行仿真,
利用缩放工具观察仿真结果,分析设计的模块是否正确;
利用光标测量工具可以测量时间。
(10)按鼠标右键点击“wave”窗口中的信号名称,弹出菜单:
(11)选择“Properties”菜单项,更改“DisplayName”,然后,点击“OK”,可以更改信号的显示名称;
由于显示的是测试平台模块中的连接信号名称,改成被测模块的端口名称,观测波形更为直观。
这样,就可以清晰地观察被测模块输入/输出端口的对应的仿真波形
(12)适当选择“Wave”窗口的大小,以使信号名称、取值、波形能够清除显示,然后,在波形窗口的“File”菜单中,选择“Export”→“Image…”,则可将存储仿真波形图。
由上图存储的仿真波形图为:
(13)监控结果输出在“Transcript”窗口:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA技术与工程应用 FPGA 技术 工程 应用 仿真 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)