NIOSII开发资料汇总_第1页
NIOSII开发资料汇总_第2页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NIOS II 开发常见问题1.怎样在 TCL 脚本分配管脚source .tcl有点问题:# source stratix_pin_assign.tclcouldnt read file stratix_pin_assign.tcl: no such file ordirectory答: From the Tools menu select Tcl s cripts, and then fromthe project folder choose the setup s cript for your particular development board, and clickRun.2D:T

2、EST ios_sst60 下载时出现错误:Error: Cant configure device. Expected JTAG ID code 0 x020010DD fordevice 1, but found JTAG ID code 0 x020B40DD. 答:SOP(所选器件和开发板上的不一致。3在 NOIS II 中 Bulid 例程 hello_world 都出现了错误,错误提示为:gdrive/c/altera/kits/nios2/components/altera_nios2/HAL/src/alt_busy_s leep.c:68: error:parse error

3、 before / token等错误全部由alt_busy_sleep.c 引起,都是关于括号不匹配的问题,而 alt_busy_sleep.c 是 IDE 中的一个默认程序。这个错误同样出现在D:TESTDE2Projectsoftwareios2 ,培训用的一个简单实验。答:找到 system.h 文件,里面有个关于系统时钟频率的设置项,应该 是没有赋值,你手动赋值。比如你用50MHZ 勺时钟,就设成 50000000。如果总是出现上述问题,可能和软件有关系,建议重新安装软件。注意 quartus 和 NIOS 安装版本一定要相同,不能混装。4这个错误是什么原因引起,把那个 sdk_arm

4、 删除后,又提示另一个地方出 错。答:运行 NIOS II IDE ,点 Project-Clear ,重新 Builde, 应该可以解决问题。5. 在 SOPC 中 Gen erate 出现如下错误是怎么回事?Error: Gen eratorprogram for module epcs_controller did NOT run successfully.只要在 SOPC 中加入 epcs_controller就会出现此错误,无法生成一个元件。答:可能和软件有关系,建议重新安装软件 答:按 F1 可以查看帮助,出现这样的错误的原因是:CAUSE: You assigned two or

5、 more pins to the specified location, but the Fitter cannotplace all the pins in that location. 删除这个管脚即 可。有一种比较简便的方法,就是在项目目录中找到一个后缀为QSF 的管脚配置文件,查找 Pin_AE24 删除那行语句就行了。8.如何在 NIOS II IDE 下跟踪查看变量的定义或者函数的定义 ?答:按住 CTRL 键,鼠标移动到变量或者函数名的地方,就可以发现这 些地方高亮显示,单击就可以进入到变量或者函数定义的地方。9.在 count_binary.c 有这样一段程序,它是如何操作的

6、? unsigned int data =segmentshex & 15 | (segments(hex 4 & 15 答:segmentshex & 15显示个位 0F; (segments(hex 4 & 15 显示十位数 0F,个位 0F,然后十位加一。10这个错误是由什么引起? 提示 LED_PIO_BAS 没有声明答:这是因为名字不一致引起的比如,N 生成SOPC 系统时,双击PIO(Parallel I/O( 在 Avalon Modules - Other 下),为系统添加输出接口 你没有把该组件改名成 LED_PIO 而是保留了原始的名字:PI

7、O_0;但你又通过IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,来 d 向该组件写入数据, 就会导致上述错误。解决办法:1.可以修改 sopc 系统,为该 PIO 改名为LED_PIO。 2.在 hello_led.c 的前面给 LED_PIO_BAS 赋值, 女口 #define LED_PIO_BASE0 x00001800 后面的这个地址要与 SOPC 中的地址对应。11. 如何在 NIOS II 中驱动外部芯片或设备 ?答:在开发过程中,我们经常会使用外接一些芯片,或外接一些实用电 路,比如AD 芯片、串并转换芯片等等,那么如何在 NIOS II 中

8、去使用这些芯片 呢? 我们在开发中会有多个选择:1如果这个芯片是使用数据和地址总线的,并且补线时没有足够的单 独引脚,那么这个芯片必须挂接在 tri_stat 总线上,这种用法和我们以往单片 机或 MCU 类似,在SOPC Builder 中直接定义用户逻辑,如果有额外的控制引 脚,就需要用 PIO 来驱动,虽然公用数据地址线节省了引脚,但做控制时序费 劲了。2 如果这个芯片单独使用数据和地址, 那么我们会直接做成 Avalone 总线的 Slave设备,在 Sopc Builder 中自己定义 component。需要写 HDL 模 块,自己定控制、状态、数据寄存器和控制位定义,这种方式控制

9、灵活,易于 实现复杂的控制时序。3 在 Quartus II 项目中画电路模块 BUTTON_PIO_IR 的值如何给他定义?答:这个错误可能是在 sopc builder 中定制的 pio 端口名称是否与程 序中用的不一致,要和程序里的一致,把 pio 组件的名称就改为 button_pio 。14. 在 Quartus II 中编译时出现如下错误:Error: Node instance cpu_bht instantiates undefined entity cpu_bht_module点击错误的地方弹出一个对话框这个错误是怎么回事?怎样解决?答:可能是在 SOPC 中所选的 CPU

10、型号不正确,换一个试试。15. 怎样自动分配管脚?答:在 Quartus II 自动分配管脚有一个方法,点击 Assignments- ImportAssginments, 导入一个管脚分配文件,后缀为 .csv .txt 等,前提是 在顶层原理图中各个输入输出的名称要和这个文件中的名称一致。16.在 NIOS II 中编译时出现如下错误怎么解决?错误是不是由SOP(中的 RAM引起?region ram is full (count_binary.elf section .text. Region needs to be 24672 bytes larger.address 0 x80c1f

11、8 of count_binary.elf section .rwdata is not within region ramUnable to reach edge_capture (at 0 x00800024 from the global pointer (at 0 x0081419cbecause the offset (-82296 is out of the allowed range, -32678 to 32767.答:可能时 RAM 勺大小不够,也有可能是中断地址(exception address 的偏余量不够,设置大些就可以了。如果还是出现这个问题,加一个 SDRA 试试

12、。17在 Quartus II 中,为什么编译一些样板项目都会出错?Error: DDR timing cannot be verified until project has been successfully compiled.Error: Evaluation of Tcl s cript auto_verify_ddr_timing.tcl unsuccessfulError: Quartus II Shell was unsuccessful. 2 errors, 1 warning 答:在做样板项目时要注意一个问题:Due to the library paths that are

13、 coded into the Quartus settings for this project,if a user wishes to modify the hardware design they must first strip out any old paths fromwithin the project settings file (qsf在 qsf 文件中找到类似语句set_global_assignment-nameVHDL_FILE C:/MegaCore/ddr_ddr2_sdram-v3.2.0/lib/auk_ddr_tb_functions.vhd 这里的目录是初始

14、的目录,把它改为 正确的目录。18. 在 NIOS II IDE 编译时出现如下错误是怎么回事?system_des criptio n/alt_sys_i ni t.c:75: error: ONCHIP_MEMORY_BASE undeclaredhere (not in a functionsystem_des cription/alt_sys_init.c:75: error: initializer element is not constantsystem_des cription/alt_sys_init.c:75: error: (near initialization for

15、 ext_flash.dev.writesystem_des cription/alt_sys_init.c:75: error: initializer element is not constantsystem_des cription/alt_sys_init.c:75: error: (near initialization for ext_flash.dev.read答:ONCHIP_MEMORY_B 没有武值,在 alt_sys_init.c 程序的开头加 上 #defi neONCHIP_MEMORY_BASE 0 x00000(后面的这个地址要与 SOP(中 的对 应。19.在

16、 NIOS II IDE 编译时出现如下错误是怎么回事?Pausing target processor: not responding.Resetting and trying again: FAILEDLeaving target processor paused答:以下是一位 FAE 的回答:1. 关于 USB-Blaster 在 Nios II IDE 下载时会发生偶发性错误,这种 现象主要是IDE software 与 Nios II CPU 透过 USB-Blaster 在做通讯时发生错 误,若是确认 FPG 上配置没有错误,连续发生错误的机率应该是相当的低,您 只需要重新下载即可

17、。2. 若您使用 Nios II IDE 6.0 ,请尽量配合 SOPC Builder 6.0 重新 build 您的system,并且使用 Quartus II 6.0 重新 compile 您的 project,以 减少 CPL 与 IDE software不兼容的情形。20. 在 NIOS II IDE 中项目的 System Library 选项中的这几个选项代表什么意思? .text .rodata .rwdata 与 reset .exception 这几个地址之间的关系是 什么?答: .text :代码区 .rodata: 只读数据区,一般存放静态全局变量 .rwdata: 可

18、读写变量数据区另外还有 .bss: 存放未被初始化的变量。 .text the actual executable code .rodata any read only data used in the execution of the code .rwdata where read/write variables and pointers arestored heap where dynamically allocated memory is located stack where function call parameters and other temporary data is st

19、ored21. 怎样在 NIOS II 中操作 PIO,提供一种参考方法。答:hello_led.c 是这样写 IO 口的:IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,led首先在 altera_avalon_pio_regs.h 找到定义i nclude #define IORD_ALTERA_AVALON_PIO_DATA(base IORD(base, 0 #defineIOWR_ALTERA_AVALON_PIO_DATA(base, data IOWR(base, 0, data 因此在 NIOSII中可以调用# i nclude 库函数 IOR

20、D/IOW 眯操作 PIO。 在smallsoftwarehello_led_0_syslibDebugsystem_des cription下的system.h中, 有以下内容 :#define LED_PIO_TYPE altera_avalon_pio#define LED_PIO_BASE 0 x00004000 其中 LED_PIO_BASE最后用 IOWR(0 x00004000, 0, led 。替代IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,编译,下载到开发板上,运行成功 !22. 怎样让 SDRAI 和 FLASH SRAM 勺地址公用?

21、答: sdram 可以和 sram,flash 共用数据总线和地址总线 . 在 sopc builder 中添加 SDRAI 控制器时,在其 share pins via tristate 选择项上勾 上 Controller sharesdq/dqm/addr IO pins 选项,这样 sdram 可以和 sram,flash 共用数据总线和地址总线但是ATERA 不推荐这样做,因为这样会 降低 SDRAI 控制器的性能,在 FPGA 芯片管脚资源比较紧张的时候迫不得已才这 样做。23. 怎样使用 DE2 板上的数码管,绑定管脚时需要注意什么?请举一个例子说 明。答:DE2 板上的数码管只

22、用了 7 位,小数点位默认为高电平。例如, 在做例程count_binary 时,需要用到两个数码管,以实现 00 到 FF 的计数,在 SOP(添加一个 16位的 PIO SEVEN_SEG15.0,绑定管脚时注意:使 SEVEN_SEG0.6帮定到数码管HEX06.0 位, SEVEN_SEG8. 14绑定到数码 管 HEX16.0位,SEVEN_SEG和SEVEN_SEG1 直接接 VCQ 这样才能让两 个数码管正常显示并计数。24. 在 NIOS II IDE 中调试,编译通过的软件时,出现了下面的提示,是什么 原因?Using cable ByteBlasterII LPT1, de

23、vice 1, instance 0 x00Processor is already pausedDownloading 00000000 ( 0% Downloaded 57KB in 1.2s (47.5KB/s Verifying 00000000( 0%Verify failedLeaving target processor paused答: Verify failed 这个问题说明板子的复位电路可能有问题,或装 载程序的外部SRAME SDRAMS CPU 的连接或时序有问题,也有可能是软件偶尔 的错误。若是软件偶尔的错误,可以先复位一下 CPU 然后再下载程序。或者断 电后重新下

24、载 .sof 和 NIOS II 程序25. 在练习 C:alterakits ios2_51examplesverilog niosII_cycloneII_2c35 的项目时,里面有很多元件一 DE2 板上都没有对应的管脚,比如网络元件Ian91c111,使用的 IP 核,还有 24 位的 ext_flash ,而 DE2 板上的 FLASH 只 有 22 位。是不是 SOP(中只能让 DE2 板上有对应管脚的元件存在,其它的只能 删除?答:这个目录下的 example 是针对 altera 自己的板子的,和 DE2 硬件 不能对应,只能作为参考,或者做一些修改后用。26. 在 SOPC

25、中加了一个 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答:SOP(中的 onchip_memory 和 M4K RAMS 本就不是一个概念。Quartus II 中编译出现这个错误,是因为设计中用到了太多的M4K。27. 关于 sopc-builder 中 reset address

26、 的设置,一直搞得不是很明白。答:SOP(中的 reset address指定的是最终全部软件程序代码下载到的地方,并且程序从 reset address 启动。SOPC 中的 exception address指定的是系统异常处理代码存放的地方。如果exception address 和 reset address 不一样,那么程序从 reset address 启 动后将把放在reset address 处的系统异常处理代码拷贝到 exception address 。NIOS II 软件中的 text address 指定的是程序运行的地方。如果 text address 和 reset

27、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 a

28、ddress 不一样,那么程序从 reset address 启动 后将初始化 rwdata address 处的可读写数据。28. 如何提高 NIOS II 系统的性能?答:主要可以从这几个方面入手:1 、使用 fast CPU 类型。2 、提高系统主频。3、 优先在 SRAM 中运行程序,SDRAMC 之,最后选择 FLASH 中运行。4、 使用片内 RAM 乍为数据缓冲,片外 SRAM 次之,最后选 SDRAM5 、IO 数据传输尽可能采用 DMA。6、对能并行处理的数据考虑使用多 CPU 协同处理。7 、典型算法做成用户指令,有 256 条可以做,足够你用的。8、能用 HDL 模块来完

29、成工作吗?能,就用 HDL 模块做成外设来完成吧 9 、采用C2H。29. 如何优化 NIOS II 里的应用项目? 答: Optimize your Nios II application design!1. Creat an Blank Project:Select Altera Nios II C/C+Application2. In main.cyour main fuctional c/c+ file : i nclude system.h i nclude alt_types.h#.int main (void _attribute_ (weak, alias (alt_main。

30、int alt_main (voidreturn 0 。3.System Library Properties OptionsSelect Clean EXITSelect Small C LibrarySelect Reduced Device DriversSpicify linker s cript position, to ext_flash, ext_ram or on-chip-ram30.关于 verify failed 的总结1. SDRAM 的时序不对有时候不正确的 pll clock phase shift for sdram_clk_out就会导致SDRA 不能正常工作:

31、2. SDRAM 的连线不对,物理板子的连线问题3.在调试的时候 , 程序下载的空间不是非易丢失存储器 时,有一个 参数为alt_dma_tx_only_on 等2调用 alt_dma_txchan_send 函数时,在专输结束前就返回一个值, 如果此值为负的话,说明发送请求失败。正确传输结束后,调用done 函数。3 接收函数 alt_dma_rxthan_prepare 类似上面的 1 和 24 传输结束,有两种可能:数据传完或者 end of packet 要预先使 能)5 . Sopc builder 中例化时要制定哪些可以访问 DMA 勺主端口,DMA 勺 avalonslave 端

32、口要接 cpu。实际传输的最大数可以帮助确定设置的位数6 . alt_dma_txchanoctl用于控制 dma 的一些工作性质,使用多的话可以用信号量等来“抢占”7 . dma 传输最小应该传 4 字或者其倍数。32. 1. 建立 CPU 时,下面的那个 Hardware Multiply 里面可以选EmbeddedMultipliers,Logic Elements,None 这三个选项有什么区别呀?答:Embedded Multipliers ,使用专门的内嵌硬件乘法单元 不可编 程,仅能做乘法,且乘法速度最快),不是 RAM Logic Elements,使用逻 辑单元也就是 FPG

33、A中的查找表 Project 时并没有出现 Microtronx NIOSII 选项呢?答:这个问题好像难倒过很多人,其实在运行 nios2linux-1.4 安装的 第一步,里面有个提示:Information Regarding the Installation ProcedureIMPORTANT: Please ensure that you specify the correct path for the Altera Nios II Kitinstallation directory and the Cygwin root directory. The typical Altera

34、 Nios II Kit directoryis:c:alterakits ios2The typical Cygwin root directory is: c:alteraquartus50 incygwin 问题的关键就是上面的路径不正确。对于 Nios 5.1 和 6.0 的路径分别为 nios_51 和 nios_60, 都不是 nios2 ,所以安装后找不到模板项目很正常。但它 的一些必要文件又确实是安装在了 nios_51 或nios_60 中。我也遇到了过同样 的问题,想到了一个简单的方法可以解决:1. 把文件夹 nios_51 或 nios_60 改为 nios2 ,启动 N

35、ios II ,就可以看 到所需模板项目。2. 退出 Nios II ,把文件夹名还原。3. 再次启动 Nios II ,你会发现模板项目依然还在。35Nios II 汉化解决方案答: NIOS II IDE 实际上是在 eclipse 平台上的一个应用插件,而Eclipse 是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提 供一个全功能的、具有商业品质的工业平台。可访问如下网站:I.Eclipse 官方网站2.中国 Eclipse 社区下面介绍如何汉化 NIOS 11实际上只是汉化了 eclipse )1. 打开 NIOS II,点 help-about NIOS II IDE,

36、 会看到有关 NIOS 的版权信息。可以看到 NIOS II 5.1的版本上的 Eclipse 版本是 Eclipse 3.0.12. 在 Eclipse 官方网站上找到 Eclipse 3.0.1多国语言包 NLpack-eclipse-SDK-3.0.x-wi n32.zip3. 在 NIOS II 的安装目录中,你可以找到一个 eclipse 目录,如:C:alterakits ios2 in eclipse,在这个目录下新建 2 个文件夹 Ian guage 和links4. 将 NLpack1-eclipse-SDK-3.1.1a-win32.zip解压到 Ianguage 目录下5

37、. 在 links 文件夹下用记事本新建一个文件,取名为 link.link(必须是此扩展名6. 在 Ianguage.link里输入代码如下:path=c:/altera/kits/nios2/bi n/eclipse/la nguage保存此文件。7. 汉化完成。说明,这种方法只是汉化了 eclipse,对 NIOS II 没有汉化,但这个软 件已经大部分为中文了,因为 NIOS II 只是 eclipse 一个插件。对于我们新手 来说这还是必要的。Nios II编辑2004 年,Altera 正式推出了 Nios II 系列 32 位 RISC 嵌入式处理器。Nios II 系列软核处

38、理器是Altera 的第二代 FPGA 嵌入式处理器,其性能超过 200DMIPS,在 Altera FPGA 中 实现仅需 35 美分。Altera 的 Stratix、Stratix GX、Stratix II 和 Cyclone 系列 FPGA 全面支 持 Nios II 处理器,以后推出的 FPGA 器件也将支持 Nios II。1 自 Altera2NiosU分类3NiosU系列4 嵌入式处理器特性5 特性说明6 构架及特性7 设计资源8 处理器系列9 启动方案的软件设计10 结语11 实现复杂的状态机12 全面的 SOPC 解决方案13 嵌入式软件工具自Altera编辑于 2000

39、 年推出第一代 16 位 Nios 处理器以来,已经交付了 13000 多套 Nios 开发套件, Nios 成为最流行的 软核处理器。于 2004 年 6 月推出的 Niosn系列采用全新的架构,比第一 代 Nios 具有更高水平的效率和性能。和第一代相比,Niosn核平均占用不到50%的FPGA 资源,而计算性能增长了 1 倍。Niosn分类辑Niosn系列包括 3 种产品,分别是:Niosn/f快速)一一最高的系统性能,中等FPGA 使用量;Niosn/s标准)一一高性能,低FPGA 使用量;Niosn/e经济)一一低性能,最低的FPGA 使用量。这 3 种产品具有 32 位处理器 的基

40、本结构单元一一 32 位指令大小,32 位数据 和地址路径,32 位通用寄存器 和 32 个外部中断源;使用同样的 指令集架构ISA ), 100% 二进制代码兼容,设计者可以根据系统需求的变化更改CPU,选择满足性能和成本的最佳方案,而不会影响已有的 软件投入。特别是,Niosn系列支持使用专用指令。专用指令是用户增加的硬件模块,它增加了 算术逻辑单元ALU )。用户能为系统中使用的每个Niosn处理器创建多达 256 个专用指令,这使得设计者能够细致地调整系统硬件以满足性能目标。专用指令逻辑和本身Niosn指令相同,能够从多达两个源寄存器取值,可选择将结果写回目标寄存器。同时,Niosn系

41、列支持 60 多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接 口组合,而不必支付根本不使用的硅片功能。NiosU系列辑能够满足任何应用 32 位嵌入式微处理器 的需要,客户可以将第一代 Nios 处理器设计 移植到某种 Niosn处理器上,Altera 将长期支持现有 FPGA 系列上的第一代 Nios 处理 器。另外,Altera 提供了一键式移植选项,可以升级至Niosn系列。Niosn处理器也能够在 HardCopy 器件中实现,Altera 还为基于 Niosn处理器的系统提供 ASIC 的移植方 式。Niosn处理器具有完善的软件开发套件,包括编译器、集成开发环

42、境IDE )、JTAG 调试器、实时操作系统RTOS )和 TCP/IP 协议栈。设计者能够用 Altera Quartusn开发 软件中的 SOPC Builder系统开发工具很容易地创建专用的处理器系统,并能够根据系统 的需求添加 Niosn处理器核的数量。使用 Niosn软件开发工具 能够为 Niosn系统构建软件,即一键式自动生成适用于系 统硬件的专用 C/C+运行环境。Niosn集成开发环境IDE )提供了许多 软件模板,简化 了项目设置。此外,Niosn开发套件包括 两个第 三方实时操 作系 统RTOS ) MicroC/OS-nMicrium ), NucleusPlus(ATI

43、/Mentor )以及供网络应用使用的TCP/IP 协议栈。长期以来,Altera 一直推行 嵌入式处理器 战略的原因是,随着应用的ASIC 开发日益受到成本的困扰,OEM 日渐转向 FPGA 来构建自己的系统。这些系统中绝大多数需要一 个处理器,而Altera 正是为设计者提供了为FPGA 优化的灵活的嵌入式处理器方案,可以满足 16 位和 32 位嵌入式处理器市场的需求。估计到2007 年,该市场价值将到达110 亿美丿元。在 FPGA 中使用软核处理器比硬核的优势在于, 硬核实现没有灵活性, 通常无法使用 最新的技术。随着系统日益先进,基于标准处理器的方案会被淘汰,而基于Niosn处理器

44、的方案是基于 HDL 源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。将 处理器实现为 HDL 的 IP 核,开发者能够完全定制 CPU 和外设,获得恰好满足需求的处理 器。嵌入式处理器特性编辑嵌入式处理器 Niosn系列为 Altera FPGA 和可编程片上系统(SOPC )的集成应用专门做了优化。表 1 详细描述了 Niosn软核嵌入式处理器系列的特性,更多通用信息请参阅Niosn简介页面。表 1. Niosn嵌入处理器系列特性特性说明编辑设计流程及工具硬件开发工具 本页面详列了搭建 Niosn处理器硬件系统所用到的开发工具。软件开发工具本页面提供了 Niosn集成开发环境I

45、DE )的相关信息,这是一种开发 人员广泛应用的,包含编辑、编译和调试应用软件 等功能的集成开发环境。开发套件 Altera 及其合作伙伴提供了大量应用了Niosn系列嵌入式处理器的开发板套件。系统级设计流程 Altera 的 SOPC Builder 工具提供了快速搭建SOPC 系统的能力,这种架构可以是包含一个或几个CPU,提供存储器接口,外围设备和系统互连逻辑的复杂系统。构架及特性编辑Niosn处理器核 Niosn处理器系列由三个不同的内核组成,可以灵活地控制成本和 性能,从而拥有广泛的应用空间。JTAG 调试模块 JTAG 调试模块提供了通过远端PC 主机实现 Niosn处理器的在芯片

46、控制、调试和通讯功能,这是Niosn处理器的一个极具竞争力的特性。用户指令开发人员可以在 NiosnCPU 核内增加硬件,用以执行复杂运算任务,为时 序要求紧张的 软件提供加速算法。外围设备及接口 Niosn开发套件包括一套标准外围设备库,在Altera 的 FPGA 中可以免费使用。Avalon?交换式总线 Avalon 交换式总线在处理器、外围设备和接口电路之间实现网络 连接,并提供高带宽数据路径、多路和实时处理能力。Aval on 交换式总线可以通过调用SOPC Builder 设计软件自动生成。设计资源编辑Niosn处理器支持 Niosn处理器支持页面提供了对Niosn设计者有帮助的多

47、种信息,其中包括使用许可、下载、参考设计、文档资料、在线展示及常见问题。嵌入式处理器 方案中心 嵌入式处理器 方案中心提供了大量的信息以帮助开发人员应用Altera 的嵌入式处理器实现系统设计。可获取的信息有器件支持、软件开发工具,外围设备及接口、培训、技术支持和资料。Nios 续订信息 Niosn开发套件包括一年期的CPU、外设和嵌入式软件开发工具的升级许可。其中不包括 Quartusn软件的升级。)客户可以通过 Nios 续订程序每年订购包 括 Niosn处理器的升级等额外信息。Niosn嵌入式处理器问与答页面此页提供 Altera Niosn系列嵌入式处理器的常见问 题及解答。Strat

48、ixn器件及 Niosn处理器系列 Stratixn器件结构的优异特性和 Niosn嵌入式处 理器系列相结合,提供了无与伦比的处理能力,满足网络、通信、数据信号处理,为来自 Avalon 总线模块上的 S1 端口的时钟信号.aclr (s1_reset,为来自 Avalon 总线模块上的 S1 端口的复位信号.q (s1_readdata,为流向 Avalon 总线模块的 S1 端口的 32 位数据.address (s1_address 为来自于 Avalon 总线模块的 S1 端口的地址);file:/控制寄存器读写端口 S2 ):con trol_register the con tro

49、l_register,为来自 Avalon 总线模块上的 S2 端口的时钟信号.reset (s2_reset,为来自 Avalon 总线模块上的 S2 端口的复位信号.read (s2_read,为来自 Avalon 总线模块上的 S2 端口的读使能信号.write (s2_write,为来自 Avalon 总线模块上的 S2 端口的写使能信号.schipselect (s2_chipselect, 为来自 Avalon 总线模块上的 S2 端口的片选信号.address (s2_address, 为来自 Avalon 总线模块上的 S2 端口的地址.readdata (s_readdata

50、, 为流向 Avalon 总线模块上的 S2 端口的 32 位读数据.writedata (s2_writedata 为来自 Avalon 总线模块上的 S2 端口的 32 位写数据);启动方案的软件设计编辑启动方案的软件设计目标是当系统复位后,在外部处理器向Niosn程序存储器和数据存储器传输数据的过程中,Niosn处理器运行要受到外部处理器的控制。当一切就绪后,外部处理器发出一条释放Niosn处理器的命令,接下来Niosn处理器就可以正常运行了。软件部分主要就是存放在启动延迟模块中ROM 的代码,此代码主要是检测启动延迟模块中控制寄存器 2 的第 0 位是否为 1。若为 1,则跳转到 控制

51、寄存器 1 中所存储的地址处执 行。若设控制寄存器的基址为CONTROL_REG_BASE,为了减少代码量,这段代码容易用 Niosn的汇编指令来实现,代码部分在此从略。最后本方案在我们自己设计的一块开发板上经过测试,能够正确完成Niosn处理器的启动。结语编辑采用多处理器的系统虽然可以提高系统的性能,但传统的多处理器系统 一般只出现在工作站及高端 PC 上,在嵌入式系统 中因为其设计代价太高很少采用。本文设计了一种在 多处理器系统 中的 Niosn软核处理器的启动方案,这个方案在外部处理器向Niosn的程序存储器和数据存储器加载数据时,可以控制Niosn处理器的启动。在 HardCopyn结

52、构化 ASIC 中实现 Niosn处理器Niosn系列嵌入式处理器具有三个处理器内核,可实现较大范围的嵌入式处理应用。这些软 IP 处理器内核可以工作在任何最新一代Altera FPGA 以及 HardCopy&reg ;系列结构化 ASIC 上。设计人员可以选择使用高性能内核、低成本内核或者性价比合适的内核。Niosn系列处理器可实现如下任务:做为系统处理器运行实时操作系统实现复杂的状态机编辑分担现有处理器载荷执行 I/O 和数据处理任务加速数字信号处理(DSP )算法在 HardCopyn结构化 ASIC 中运行时,Niosn嵌入式处理器 出众的处理能力满足了 高性能片上系统SOC

53、 )的要求。Niosn嵌入式处理器 能够提供系统级处理器性能,实现 处理器和系统功能以及逻辑在单个器件中的集成。HardCopyn结构化 ASIC 和 Niosn嵌入式处理器 结合使用能够满足计算、大容量存储、电信和网络应用的要求。图 1 是单个 HardCopyn结构化 ASIC 中多个 Niosn处理器在数据处理和控制应用上 的实例。图 1. HardCopyn器件中 Niosn处理器进行数据处理HardCopy 器件设计流程使设计人员可以在一个FPGA 中测试、验证其设计。然后将经过验证的设计递交给HardCopy 设计中心,以没有风险的无缝移植方式在结构化ASIC中实现。HardCopy 结构化 ASIC 是唯一能够实现在正式投产前,硬件功能在FPGA 中验证以及系统 软件在真实系统配置 环境中进行设计、测试的器件。因为设计在移交给 Altera 之前在 FPGA 中进行了测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论