FPGA(一)---二选一多路器及quartus基本操作

一、FPGA开发流程

在这里插入图片描述

二、创建模块

打开Quartus --》create new project --》new file,选择Verilog HDL file–》写模块

模块一:

module led_test(a,b,key_in,led_out);

input a;  //输入端口
input b;
input key_in;

output led_out;  //输出端口

//当key_in ==0, led_out = a
assign led_out = (key_in == 0)? a : b;//assign是赋值
endmodule

模块二:

`timescale 1ns/1ps  //一撇是键盘左上角那个
                    //时间单位和仿真精度
module led_test_tb;
//激励信号定义,连接到待测试模块的输入端口
	reg signal_a;
	reg signal_b;
	reg signal_c;
//待测信号定义,连接到待测试模块的输出端口	
	wire led;
	
	led_test t0(      //例化待测试模块
	.a(signal_a),
	.b(signal_b),
	.key_in(signal_c),
	.led_out(led)
	);
//产生激励	
	initial begin 
		signal_a = 0;signal_b = 0;signal_c = 0;
		#100   //延时100ns
		signal_a = 0;signal_b = 0;signal_c = 1;
		#100   
		signal_a = 0;signal_b = 1;signal_c = 0;
		#100   
		signal_a = 0;signal_b = 1;signal_c = 1;
		#100   
		signal_a = 1;signal_b = 0;signal_c = 0;
		#100   
		signal_a = 1;signal_b = 0;signal_c = 1;
		#100   
		signal_a = 1;signal_b = 1;signal_c = 0;
		#100   
		signal_a = 1;signal_b = 1;signal_c = 1;
		#200  
		$stop;
	end

endmodule						  

三、仿真步骤:

assignment--》setting --》 simulation --》选择modelsim 
--》选择compile testbench 
--》tools中run RTL simulation(功能仿真) 
--》start compilation(布局布线)
--》tools 中run simulation 中选择gate level simulation(时序仿真,后仿真) 

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
后面再进行RTL simulation, compilation 、gate simulation

四、仿真结果

上述功能在后仿真完毕时,会发现与功能仿真的结果有差异,出现了多余的冲激信号,并且信号跳变时出现了延迟。

五、引脚分配

1、点击assignments中的Pin Planner。
2、引脚要与开发板的引脚相对应。
3、分配完后再次start compilation(布局布线)
4、点击Programmer下载程序,可以自己add file,在outfile文件夹下是已经编译完成的sof文件。
5、点击hardware setup选择插入的硬件
6、点击start进行下载

六、验证开发板功能

本实验中,将signal_a和signal_b通过连线连接到供电源上表示高电平,如果接地就代表低电平,然后尝试按键key_in。
led时低电平时候亮。
当按下键key_in时,led显示与signal_a状态一致。
当释放按键key_in时,led显示与signal_b一致。

七、修改tb文件后,进行RTL仿真,modsim操作

在这里插入图片描述

八、modelsim查看子模块波形进行调试

在modelsim中,点击sim,右键add wave
在这里插入图片描述
然后,选中所有,再按ctrl+G自动分组。
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值