欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

SOPC第一课 建立QSYS系统

发布时间:2025/4/5 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 SOPC第一课 建立QSYS系统 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

开发板:小梅哥AC620
软件:quartus 13.1

  • 介绍
    软核处理器代表:nios II Xilinx 的 microBlaze核
    nios II提供强大的HAL系统库支持
    2004年推出nios II
    在QSYS完成后生成一个系统模块,由QSYS最终生成的系统模块相当于传统的单片机或ARM

本课程任务:
搭建带有2KB指令高速缓存的NIOS II/s
4KB片内ROM存储器(on chip ROM)用来存储程序代码以及程序运行空间
4KB片内RAM存储器(on_chip RAM)用来读取变量、堆栈等空间


用户可以在nios II指令集仿真器(ISS)上仿真软件运行。如果读者拥有开发板以及USB blaster下载电缆,用户,将能目睹。

  • 搭建QSYS
    QSYS提供GUI界面,所有设置保存在一个以系统命名的qsys文件中。该系统创建了所有的qsys输出文件(HDL逻辑文件、C程序的头文件和库文件、模拟仿真文件等)
    system.qsys:QSYS系统文件(.qsys)–用来描述系统的硬件架构
    system.sopcinfo:sopc信息文件(.sopcinfo)提供给eclipse 硬件信息


时钟频率要求要与系统实际运行的时钟频率相匹配。否则一些设计到精确时序参数的外设(定时器、UART、SPI等等)可能无法正常工作

复位向量:用来设置CPU复位后从何处开始启动,我们可以将CPU的复位向量设置于FLASH,例如EPCS存储器。这样系统即可上电后自动从flash中复制程序代码到内存中并运行。该选项只有当CPU的存储器系统就绪后方可设置
异常向量:用来存放CPU处理异常事件的代码,例如终端处理代码。在一个典型的系统中,该向量应该指向一个低延迟的存储器,例如SDRAM、SRAM、或者片上存储器(on chip RAM)
fast TLB Miss Exception vextor: 不做介绍,与MMU相关

本选项主要设置CPU的数据和指令缓存部件
instruction cache:用来缓存NIOS II处理器的各种指令,该缓存大小从512字节到64K字节。
data cache:数据缓存用于存放缓存数据的大小,改缓存大小从512字节到64K字节。
添加ROM和RAM

不用使能非默认初始化文件,默认会有IDE编译生成给QSYS。
同理,创建4KB的RAM
添加PIO

设置4个bit的PIO

添加ID
当QSYS生成NIOS系统时,将为该NIOS II系统生成一个ID号。该标识会被写入SYSTEM ID寄存器中,供IDE编译器和用户辨别所运行的程序是否与目标系统匹配。
如果用户程序不是基于IDE的NIOS II系统,那么调试时,NIOS II将阻止用户下载程序到NIOS II系统,当然,我们也可以在调试时候,选择忽略系统ID的核对。

将其PIO双击导出
copy verilog代码
点击generate

搭建软件部分
将QSYS软核纳入工程

ctrl+K编译综合

分配管教

BSP工程创建时会根据.sopcinfo文件中定义的NIOS II系统的硬件信息,生成对应的设备驱动(drivers)HAL库(HAL)以及硬件信息头文件(system.h)


在左端将BSP关联起来


关闭优化

#include "system.h" #include "altera_avalon_pio_regs.h" #include "alt_types.h" int main(void) { alt_u8 led = 0; alt_u32 i; while(1) { led = 0; IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, led);//点亮LED灯 i = 0; while(i<500000) //延时功能,非精确延时,数值太小将无法看到灯的闪烁效果 { i++; } led = 1; IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, led);//熄灭LED灯 i = 0; while(i<500000) //延时功能,非精确延时,数值太小将无法看到灯的闪烁效果 { i++; } } return 0; }

这部分代码在第二课讲解,为什么这么编写

注意事项:一旦重新编译quartus,就需要重新生成BSP
最后在开发板上面实现了小灯的闪烁。

总结

以上是生活随笔为你收集整理的SOPC第一课 建立QSYS系统的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。