【方法】用Quartus II开发Altera公司的FPGA,如何给引脚配置上电初始电平
发布日期:2021-06-29 10:17:13
浏览次数:3
分类:技术文章
本文共 1323 字,大约阅读时间需要 4 分钟。
用Vivado开发Xilinx FPGA的程序时,可以在引脚列表直接配置上电默认电平。例如:
module main( input clock, output reg [5:0] leds = 6'b111100);
然而这一招在Quartus II里面行不通,FPGA复位后这些引脚全部都是低电平。
不过可以采用一种变通的方法。Quartus II支持给非引脚reg型变量赋初值,我们可以定义一个普通的reg变量,然后把引脚配置成wire型,用assign语句连线上去:
(注意引脚名称leds改成了leds_out,那么引脚配置文件里面的名称也要改过来)
`define SYSCLK 50000000module main( input clock, output [5:0] leds_out); reg [5:0] leds = 6'b111100; assign leds_out = leds; localparam MAXCNT = `SYSCLK / 2 - 1; reg [31:0] counter = 0; always @(posedge clock) begin if (counter == MAXCNT) begin counter <= 0; leds <= leds - 1; end else counter <= counter + 1; endendmodule
这样问题就解决了。(那个always块不能去掉,一旦去掉,编译器就会判定引脚未使用,leds_out就会被优化掉)
在内部模块里面也是一样的情况。比如下面的代码,=1的赋值就不起作用,实际上hello的初值为0:
module test( input clock, input change, output reg hello = 1); always @(posedge clock) begin if (change) hello = !hello; endendmodule
要想让hello的初值为1,还是得采取同样的办法:
module test( input clock, input change, output hello_out); reg hello = 1; assign hello_out = hello; always @(posedge clock) begin if (change) hello = !hello; endendmodule
Quartus II和Vivado还有一个不同的地方就是,在Vivado中要用"\15\n"表示换行符"\r\n",而在Quartus II里面换行符必须直接写成"\r\n",写"\15\n"或者"\xd\n"都不行的。
转载地址:https://blog.csdn.net/ZLK1214/article/details/109542038 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月30日 21时06分52秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
调整kvm磁盘空间
2019-04-29
openstack.kvm的usbKEY使用
2019-04-29
cinder修改云硬盘的类型:
2019-04-29
windows安装tensorflow-gpu
2019-04-29
linux 性能测试UnixBench工具
2019-04-29
PySnooper替代用 print 输出来调试代码
2019-04-29
Linux 压测工具 stress 安装下载使用
2019-04-29
DevOps 自动化工具
2019-04-29
最新CentOS7.5部署L版ceph 20190610及额外手册告警升级多活等
2019-04-29
oracle ALTER 用法
2019-04-29
CentOS7.4安装NVIDIA显卡驱动 GT730
2019-04-29
MySQL个人学习笔记-仅供参考
2019-04-29
CSS个人学习笔记-仅供参考
2019-04-29
HTML个人学习笔记-仅供参考
2019-04-29
JavaScript个人学习笔记-仅供参考
2019-04-29
Jquery个人学习笔记-仅供参考
2019-04-29
ServletConfig与ServletContext的区别,以及servletConfig.getServletContext方法可以获取到ServletContext的原因
2019-04-29
win10家庭版磁盘上有个锁的解决办法
2019-04-29
消息中间件 个人学习笔记-仅供参考
2019-04-29