【原创】FPGA (Verilog/NIOS II/Microblaze) 编程小提醒
1、打开NIOS II IDE 建立好工程以后,先编译一下(Ctrl+B),然后打开system.h检查下目标硬件信息是否正确,
避免选择错误的目标硬件。
2、在NIOS II IDE 编写程序的时候随时保存。
3、在用SOPC builder建立软核系统时,系统的名字不能和cpu及Peripherals等的名字相同,否则Quartus编译将会出错。
4、(搭个车,写个Verilog要注意的小问题)
reg x,c,d;
reg [1:0] a;
reg [1:0] b;
reg [1:0] y;
当“=”的左边最大位宽变量的宽度为2时,“=”左边的位宽如果不为2时,系统将自动把高位去掉。
如:{x,y}={a[1:0]+b[1:0]+c}; “=”右边位宽最大的变量的位宽是2,所以“=”右边的x不管是否有值都会被编译掉。
如下面的写法则不会出现这种问题:
{x,y}={a[1:0]+b[1:0]+c,d};
5、废话再多说一遍,工程路径下不要出现中文。
6、在用Modelsim仿真,编写testbench文件的时候,当复位信号初始化为0,而你想让复位信号变成高电
平的时候,先要延迟一小段时间(即使复位信号先处于低电平一段时间),然后再把信号拉为高电平。
7、这句还是废话,不过还是要注意:不能在不同的always模块中操作同一个变量(因为always语句是并
行执行的,编译软件分不清哪一个always模块里的操作是你想要的操作)。否则会出现下面的错误:
(ISE软件中的错误提示)
(Quartus中的错误提示)
错误提示信息的内容都是:变量(在不同always模块中重复操作的变量)有多个驱动,即该变量对应有多个值,这是不允许出现的。
8、Verilog的:
当一个变量已经定义为output了,当使用assign给它赋值的时候则不用再定义wire型了,当没有定义为output型时,要用assign给它赋值的时候,刚要定义为wire型了,但是wire型的变量在always里是可以赋给reg型变量的。
9、xps软件(user_logic)的:
当出现这个错误时: line 443 unexpected token: 'end'。问题一般是在443行有条语句没有加“;”。
10、xps软件(10.1)的:
当已经添加了的ip核文件被修改以后(比如添加了外部引脚),刷新后再到ports标签下添加新的引脚,否则刚添加的引脚是不会出现在ports标签下的。
11、xps软件(10.1)的:
在sourcse标签下添加新的C文件(add new file),在写C文件的名字时,要注意把后缀名(.c)也同时写上,否则软件不会默认为C文件的。
12、ISE软件(10.1)的:
当拷贝工程到当前的工程的时候(或者是由于改变了输入输出),此时引脚需要重新分配(修改ucf文件),如果在分配引脚的时候,软件显示已经把你修改以后的引脚正确显示出来,并且你 也将其分配完毕,但是在综合的时候软件报出错误,此时的解决办法是:在你的工程目录下,搜索ucf文件,并把其都删掉,重新双击Floorplan IO—Pre—synthesis,重新生成ucf文件并正确将其分配。
13、ISE软件(10.1)的:
在顶层文件要调用其它的模块时,如果是用“include”将其它模块包含进来的话,那么在其它模块里define的内容也适用于顶层模块;否则(只是将其添加到一个工程中,并未用include将其包含进来,而是直接调用),define的内容将不适用于顶层模块。
14、nios ii 9.1的:
IOWR_ALTERA_AVALON_PIO_DATA(A,B)命令中,A处要与system中的完全相同(注意不管.bdf文件中的标号是大写还是小写,这个地方一定是大写)
~~~~~~~~~~~~~~~(待续)~~~~~~~~~~~~~~~~~
转载于:https://www.cnblogs.com/hclmcu/archive/2010/07/14/1777508.html
【原创】FPGA (Verilog/NIOS II/Microblaze) 编程小提醒相关推荐
- [原创].关于编写Nios II的延时函数的一点心得
平台 硬件:nios/f 100MHz 软件: 内容 0 一点说明 本文仅讨论所述平台的一点心得,若其他等级的nios或优化,请自行研究. 1 usleep()有多准 参考[笔记].怎样使用Nios ...
- 【原创】基于NIOS II的ADS1256 SPI驱动
/*********************************说明**********************************/ 在SOPC里面SPI设置如下: ...
- [原创].如何解决Nios II SBTE中出现的undefined reference to `xxx'警告
问题描述 有时候编译Nios II SBTE工程,就会出现莫名其妙的警告.例如下面的警告: 解决方法 方法1 重建工程法 此法较为愚笨,不推荐使用. 重新建立一个带BSP模板的Nios II SBTE ...
- [笔记].如何使用Nios II的中断:PIO中断与定时器中断
引子 定时器中断,我以前在艾米电子论坛发帖讨论过:PIO中断我在博客里也讨论过,最近发现以前的总结有一点小错误.于是结合我最近玩触摸屏的一点点心得,写篇博文. 软硬件环境 硬件:艾米电子EP2C8核心 ...
- Nios II 系统的Avalon总线
开始接触fpga 的 Nios II 软核处理器,对其中比较重要的总线协议做一下笔记 基于Nios II处理器的片内系统互连主要依靠的是Avalon-MM总线和Avalon-ST总线. Nios II ...
- 【连载】【FPGA黑金开发板】NIOS II那些事儿--硬件开发(一)
声明:本文为原创作品,版权归黑金动力社区(http://www.heijin.org)所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 前言 从今天开始,NIO ...
- 【连载】【FPGA黑金开发板】NIOS II那些事儿--LED实验(四)
声明:本文为原创作品,版权归本博文作者所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 这一节,我将给大家讲解第一个与硬件有关的程序,虽然内容简单,却极具代表性. ...
- 【连载】【FPGA黑金开发板】NIOS II那些事儿--NIOS II 常见问题(FAQ)
为了帮助初学者快速入门NIOS II,在此建立NIOS II FAQ,希望大家把自己遇到的问题提出来,然后在这里总结起来,以帮助以后遇到同样问题的人. 首先需要声明一点,下面部分问题来自网络,如果版权 ...
- 小插曲:我和Nios II的故事
想必学习Altera家FPGA的小码农们都会有一个共同的困扰吧,那就是Nios II该不该学的问题.这个问题说白了,就是学Nios II到底有没有用.观点1.无用论,常常会听FPGA群里的某位前辈说道 ...
最新文章
- 独家 | 准确度VS速度——数据科学家能从搜索中学到什么?(附链接)
- maven私服的配置使用
- Java魂斗罗1234合集_《魂斗罗》正统续作1234部介绍,别再搞错喽!
- JS经典面试题05-变量连续声明var a = b = 1
- 1.12.Flink Kafka-Connector详解、Consumer消费策略设置、动态加载Topic、Consumers Offset 自动提交、Producer、容错等
- android glide的历史,Android 图片加载的那些事:为什么你的Glide 缓存没有起作用?...
- Win32-Application的窗口和对话框
- App的selenium,Appium爬App!
- Android-JNI开发系列《七》补充jni与java的数据类型的对应关系和数据类型描述符
- python3帮助文档-中文
- 中国各省名称+ 经纬度
- php 微信支付md5签名,微信支付V3支付签名无效解决方案
- 周问题回复-滤波器-锁相环BL参数及环路滤波器参数问题
- opencv图像处理学习
- larval模板引擎
- 以太坊:过去、现在、未来
- FFmpeg windows 录屏(录像)录音 实测
- Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
- Mircrosoft Visual C++ Runtime Library提示窗口为何黏着桌面
- 带api的php探针,从零开始搭建前端监控系统(一)——web探针sdk
热门文章
- 32岁被裁,拿N+1,我高兴地失业了
- Hadoop 之父:普通程序员到顶级公司 CTO 的进阶之路
- 一次毕生难忘的 Java 内存泄漏排查经历
- 深度历险:Redis 内存模型详解
- 微服务实践(七):从单体式架构迁移到微服务架构
- JPA_could not extract ResultSet问题解决
- Bootstrap4 .ml-auto元素居右.mr-auto元素居左
- python和表格关系_数据表之多表关联
- linux服务器延时,Linux 服务器高I/O 等待延迟问题查找
- 信息系统运维安全管理规定(可作为范文参考)