- IP核:美国著名的Dataquest咨询公司将半导体产业的IP定义为“用于ASIC或FPGA中的预先设计好的电路功能模块”。IP主要分为软IP、固IP和硬IP。软IP是用Verilog/VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。固IP是完成了综合的功能块。硬IP提供设计的最终阶段产品——掩膜。
- Qsys的前身是“SOPC Builder”,在最新的Quartus版本中,Qsys再次被升级为
“Platform Designer”。因此在我们看到“Platform Designer”时,要知道它实际上就是
我们所常用的Qsys。
Qsys是Quartus II中的一个系统集成工具,它是用来搭建、开发以及维护“系统”的平
台,这个系统通常是指以Nios II处理器为核心的嵌入式系统。利用Qsys所搭建的一个基本的嵌入式系统包含系统时钟、Nios II处理器、JTAG接口、ROM和RAM等 - nios硬件设计的具体步骤如下:
(1) 创建 Quartus II 工程,需要选择与开拓者开发板上的 FPGA 芯片相对应的器件型号;
(2) 在 Qsys 工具中,选择需要的 IP 核并设置其参数,搭建 Qsys 嵌入式系统;
(3) 将 Qsys 系统集成到 Quartus II 工程的顶层模块中。
(4) 给顶层模块的输入输出信号分配引脚,并编译整个工程。
(5) 将生成的 sof 文件下载到 FPGA 开发板上; - 搭建好的Qsys系统,从Name一栏往下看,系统包含以下几个单元模块:
时钟(clk)、处理器(nios2_qsys)、片内存储(onchip_rom、onchip_ram)、串行通信
(jtag_uart),以及System ID(sysid_qsys)。 - eclips是以workspace作为单元(就是一个完整的功能工程)的,里面可以包括多个相互关联依赖的工程,而且还可以导入工程等操作,所以每次打开新的完整的工程就得用switch workspace,这样打开或者切换新的工程空间。不能直接打开一个单独的项目,我们去文件夹也是确实看不到这个项目图标的,只能以workspace为单元进行打开
- 一个eclipse写的workspace单片机程序是与一个xx.sof(完全在Quatus中用IP核等组合起来,然后顶层verilog程序建立的,然后马上就可以烧录进入FPGA里面,与c语言程序没有任何关系)的nios软核程序对应的,因为在eclipse建立c语言程序的时候,需要先读取nios的xx.sopcinfo文件,实际上就是读取软核的systemID和一些软核的信息,用于BSP工程的一些驱动库函数生成。当在eclips中写好了c语言单片机程序,就可以直接在eclipse里面下载进入软核了(也就是FPGA芯片此时已经是一个单片机了,下载到这个软核上跑起来),和Quatus没有任何关系了。但是eclipse烧录c语言程序的时候,如果本c程序用的systemID(也就是之前建立工程时候读取的)和此时FPGA芯片里面的软核的systemID不一样,那么会报错,无法烧录。也就是一个c语言程序对应一个软核,我们想想确实是这样。一个特定的单片机程序当然只能跑在这个特定的单片机上面。
FPGA nios学习笔记
原创
©著作权归作者所有:来自51CTO博客作者biao2488890051的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java服务端带参数跳转
首先要创建两个文件Test.php Test.wsdlTest.php文件代码是处理具体业务的接口代码Test.php代码: ?php ini_set("soap.wsdl_cache_enabled", "0"); class Test { function getData($Content)//接口参数,可有可无,看具体需求 { $res="<xml&g
java服务端带参数跳转 java webservice接口开发 web service接口 xml Test -
python numpy矩阵除以255
 
python numpy矩阵除以255 叉乘 数据结构 数据格式