设计流程:
设计规划--波形绘制--编写代码--代码编译--编写testbench--对比波形--绑定管脚--全编译--上板验证
设计规划
使用用户手册,了解硬件资源,这个示例中需要用到按键和led灯:
1、按键
在没有按键按下时,输出高电平(红色);当按键按下的时候,被按下的按键端会输出低电平(蓝色)。
2、led灯
当 fpga 输出低电平时,led 点亮,当 led 输出高电平时,没有电位差,led 灯熄灭。
由上可知:需要实现的功能是,当按下按键时(key_in=0,pin_m16管脚),led灯要被点亮(led_out=0,pin_a2管脚)。此处波形非常简单,省略画波形的步骤,对于复杂电路还是需要画波形来理清思路。这里波形应该是key与led波形一致。
打开quartus,新建工程。
编写代码
编写.v文件,代码如下:
module led(input wire key_in , //输入按键output wire led_out //输出控制led灯);//led_out:led灯输出的结果为key_in按键的输入值assign led_out = key_in;endmodule将.v文件添加到文件目录下,右键files文件夹选择添加.v文件,添加完成后可以在files下看到添加的.v文件:
代码编译
点击如图所示的图标,可以检查语法是否有错,综合器将代码解释为电路的形式。绿色表示通过。
点击rtl viewer可以查看设计的硬件电路结构,和我们设计所表达的意思相同
编写testbench
testbench是测试电路功能和性能的脚本。在线逻辑分析虽然好用但是每次修改代码都需要综合一次,而使用testbench做仿真的速度就很快,所以一开始就应该编写testbench以便后面大型电路的验证。
testbench就是产生输入波形,加入到被测模块上并观测其输出,和我们之前画好的波形进行比对。
编写.v文件
`timescale 1ns/1ns //时间尺度/时间精度,时间精度<=时间尺度module tb_led(); wire led_out ;reg key_in ;//初始化输入信号initial key_in <= 1'b0;//key_in:产生输入随机数,模拟按键的输入情况always #10 key_in <= {$random} % 2; /*取模求余数,产生非负随机数0、1每隔10ns产生一次随机数*///\\* instantiate \\//led led_inst(.key_in (key_in ), //input key_in.led_out(led_out) //output led_out);endmoduletb_led模块中,首先定义初始的输入信号为低电平(一般时序电路使用非阻塞赋值<=),延迟10个时间单位(ns)产生随机数0或1赋值给输入,就完成了输入信号的波形设计。根据上一节中实例化的讲解,第2-5行和第14-19行完成的功能是将上一个led.v文件中led模块与tb_led模块相连。这样随机生成的输入信号就被加到led模块上,并得到输出led_out,通过验证led_out与我们期望的输出是否一致,就知道我们的设计是否正确。
和之前的操作一样,将这个tb_led.v文件添加到files文件下。然后在quartus的菜单栏中找到assignments-setting,如图所示。
对比波形
设置完成后,点击菜单栏的tools-run simulation tool-rtl simulation,能自动打开modelsim说明之前的关联操作是成功的,如果不成功,在上一节中看怎么关联。得到波形如图,观察得知led_out波形与key_in波形一致。
分配管脚
在开发板用户手册中就有对应管脚,按键有三个,我们选择m16的s0作为key_in,led有四个,我们选择a2的led0作为led_out。
全编译
全编译需要进行布局布线,管脚绑定后就可以对全局进行布局布线了。没有错误就可以上板了,有错误的话根据提示改。
上板验证
上板是需要安装usb_blaster驱动的,在设备管理器中如果usb-blaster有黄色感叹号需要右键更新,文件在安装文件quartus-drivers-usbblaster或usbblaster ii中。安装完成后感叹号消失。
再点start,右上角的progress到100%,开发板就下载完成了。
按着按键a0不放,led0一直被点亮,松手就关闭。
关于自动封箱打包码垛机器人生产线
vivo Y20 2021在马来西亚市场正式发布
真无线耳机市场战火纷飞,小米苹果新兵老将混战
iPhone11的充电头将采用USB-C接口,苹果内部高管确认
MBD技术在我国飞机三维数字化设计制造技术的应用研究
基于FPGA开发板点亮LED灯
Arm芯片Cortex-M处理器地位无可争议
联建光电2018年营收40.53亿元 转危为安
RS欧时电子推DesignSpark Electrical,强大工具助力电气工程师设计
对于今年的苹果新产品,你最期待谁呢?
模块化数据中心市场的需求量上涨明显,去年部署增长增长65%以上
区块链项目落地 数字资产钱包安全再升级
苹果发布新专利,通过手势控制智能家居
目标检测模型和Objectness的知识
台积电明年资本支出有望达到百亿美元
单片机调试时的那些技术
中国移动杨杰:构建智慧社会要推动新一代信息通讯技术融入民生
HMD获得1亿美元融资成独角兽 HMD跟诺基亚什么关系
大族数控荣获“广东省PCB专用设备大族数控工程技术研究中心”认定
大陆集团推出提高控制力度的先进传感器解决方案