加入收藏 设为首页 帮助中心
 
论坛首页
用户登录 | 用户注册 | 最新悬赏 | 最新贴子 | 会员中心 | 贴子搜索 | 网站地图 | 帮助中心 | 联系我们
站内搜索:
现在位置 > 维库电子开发网论坛 > EDA > FPGA/CPLD > NIOS II 开发常见问题(5)
帖子主题: NIOS II 开发常见问题(5)
你还没有登录,无法发表回复,请首先 登录.. [注 册]
积分:61 gump
发表于:2008-8-29 11:23:00 楼主
级别:二星
积分:61分
注册:2008年08月29日
26.在SOPC中加了一个200KB的onchip_memory ,为什么在Quartus II 编译时出现这个错误?

Error: Selected device has 105 RAM location(s) of type M4K RAM. However, the current design needs more than 105 to successfully fit

 


  答:SOPC中的onchip_memory和M4K RAM根本就不是一个概念。Quartus II中编译出现这个错误,是由于设计中用到了太多的M4K。


  27. 关于sopc-builder 中reset address 的设置,一直搞得不是很明白。


  答:SOPC中的reset address 指定的是最终全部软件程序代码下载到的地方,并且程序从reset address 启动。

SOPC 中的exception address 指定的是系统异常处理代码存放的地方。如果exception address 和reset address 不一样,那么程序从reset address 启动后将把放在reset address 处的系统异常处理代码拷贝到exception address 。

NIOS II软件中的text address指定的是程序运行的地方。如果text address和reset address 不一样,那么程序从reset address 启动后将把放在reset address 处的普通只读程序代码拷贝到text address 。NIOS II软件中的rodata address指定的是只读数据的存放地方。如果rodata address和reset address 不一样,那么程序从reset address 启动后将把放在reset address 处的只读数据拷贝到rodata address 。

NIOS II软件中的rwdata address指定的是可读写数据的存放地方。如果rwdata address和reset address 不一样,那么程序从reset address 启动后将初始化rwdata address 处的可读写数据。


  28. 如何提高NIOS II系统的性能?

答:主要可以从这几个方面入手:

1、使用fast CPU类型。

2、提高系统主频。

3、优先在SRAM中运行程序,SDRAM次之,最后选择FLASH中运行。

4、使用片内RAM作为数据缓冲,片外SRAM次之,最后选SDRAM

5、IO数据传输尽可能采用DMA。

6、对能并行处理的数据考虑使用多CPU协同处理。

7、典型算法做成用户指令,有256条可以做,足够你用的。

8、能用HDL模块来完成工作吗?能,就用HDL模块做成外设来完成吧

9、采用C2H。

  29.如何优化NIOS II里的应用工程?


 

  答:Optimize your Nios II application design!

1.Creat an Blank Project:Select Altera Nios II " C/C++ Application"

2. In main.c[your main fuctional c/c++ file]:
#i nclude "system.h"

#i nclude "alt_types.h"

#......

int main (void) __attribute__ ((weak, alias ("alt_main")));

int alt_main (void)

{

......

return 0;

}

3."System Library Properties" Options

Select "Clean EXIT"

Select "Small C Library"

Select "Reduced Device Drivers"

Spicify linker s cript position, to ext_flash, ext_ram or on-chip-ram
30. 关于verify failed的总结

1. SDRAM的时序不对

有时候不正确的pll clock phase shift for sdram_clk_out就会导致SDRAM不能正常工作:

2. SDRAM的连线不对,物理板子的连线问题

3. 在调试的时候,程序下载的空间不是非易丢失存储器(non-volatile memory)或者存储器的空间不够也会导致这个错误

4. QuartusII的默认设置导致的错误

QuartusII默认将所有没有使用的IO口接地,这种时候可能导致某些元器件工作不正常;最好将不用的IO口设置为三态

5. USB-blaster坏了,或者JTAG通信的信号噪声太大

JTAG的端口需要一个弱上拉电阻来抗干扰

6. 确保你的sdram 既连接到CPU的指令总线也连接到CPU的数据总线

 
积分:321 smr1113
发表于:2008-8-30 16:56:00 1 楼
级别:四星
版主
积分:321分
注册:2008年06月20日
顶一下!!!


没有你做不到的,只有你想不到的。

 
快速回复:
用户名: 密码:  验证码,看不清楚?请点击刷新验证码 注册新帐号?
上传图片格式(jpg/gif/png)和文件格式(rar/pdf)
 
 
网站简介s广告服务网站地图帮助信息联系方式问题报告
Copyright 2007 - 2008 bbs.weeqoo.com
Powered By weeqoo Version 8.0.0XML