当前课程知识点:现代电子系统设计 > 第九章 SOPC系统设计 > 9.5 SOPC设计举例 > 9.5.3 实验操作(2)
大家好 我是清华大学自动化系李云鹏
由我和大家讲解第九章第五节
SOPC设计举例的实验操作
点击关闭
我们在后续中顶层的Verilog文件中
我们会调用此处Qsys搭建生成的
kernel 模块
我们可以通过Generate
HDL Example进行查看
点击关闭 点击保存
点击Generate 点击生成
点击关闭 关闭Qsys
在Qsys系统搭建结束之后
我们需要在Quartus界面进行一些设置
首先是向工程添加文件
添加之前Qsys编译生成的文件
点击Project
点击Add/Remove Files in Project
选择文件
我们将kernel/synthesis/submoduls
文件下的所有
.v 文件进行添加
同时添加synthesis中
kernel.v和 kernel.qip文件
点击Apply 点击OK
由于工程中的SDRAM芯片
时钟具有相位滞后的需求
所以开发板中的50Mhz产生的晶振
不能直接作为其时钟输入
同时之前Qsys中
我们的时钟设置为100Mhz
在这里我们需要通过PLL锁相环
生成符合需求的脉冲
点击tools 点击IP Catalog
在此键入关键字锁相环
进行添加
语言设置为Verilog语言 进行重命名
将此设置为 等级7
我们的输入是由50Mhz的晶振产生
将此修改为50M
点击next
此处我们不进行任何勾选
点击next 点击next 点击next 点击next
此处的C0将提供给Qsys进行时钟的输入
在此我们将时钟改为100Mhz
时移为0 占空比为50%
点击next
C1作为第二路时钟输出
我们将提供给SDRAM使用
由于SDRAM的时钟具有相位的需求
所以这里我们将频率修改为100Mhz
将相移设置为负72
占空比为50%
点击next 点击next 点击next 点击next
此处勾选 后两个.v文件
点击finish
在弹出的窗口中确认为yes
文件的顶层文件中
我们定义了三类IO接口 时钟 LED灯
SDRAM
首先 进行了FPGA的软件复位初始化
接着调用锁相环 分别提供时钟给主时钟
以及SDRAM时钟
调用在Qsys阶段生成的kernel模块
最后将LED灯的IO接口通过Usr_Pio
与Qsys已经搭好的PIO模块进行连接
点击Pin Planner
在此我们需要将开发板中的IO接口
和我们在顶层文件中定义的外设地址
进行连接
关闭 点击开始编译 进行编译
编译成功 点击programmer
进行硬件程序下载
点击hardware-setup
在此选择Usb blaster
点击close关闭
在model中选择Jtag
点击Add file 添加First_Nios.
.sof文件 点击start
下载成功
至此FPGA硬件部分设计结束
点击tools 点击Nios II software
点击file 点击New
选择新建Nios II模板工程
在SOPC information file name文件框下
选择在之前Qsys阶段编译生成的
SOPC info文件
选择模板为Hello World 键入工程名
点击next 点击finish
在该文件中 将已有的程序进行替换
在程序中 我们通过控制IO口的
高低电平的持续周期
来实现LED灯闪烁频率的变化
其中 该函数实现了控制IO接口的
高低电平的变化
第一个变量描述了PIO的地址
在system.h文件下
在PIO部分我们可以看到
该地址将PIO模块与Nios系统相连
通过访问该地址 我们可以控制PIO模块
对该工程进行编译
点击project build all
编译成功 点击Debug configuration
在New_Configuration project下
选择project name
为当前工程文件
点击Apply 点击Debug
点击 resume 进行程序运行
我们可以看到 在FPGA的右下角
有蓝灯进行闪烁 并且有频率快慢的变化
到此 FPGA LED灯闪烁完成
感谢大家的观看
-课程简介
-1.1 电子系统简介
-1.2 现代电子系统举例
-1.3 现代电子系统的组成
-1.4 现代电子系统设计方法
-第一章 作业
-2.1 传感器定义
-2.2 传感器的分类和性能指标
-2.3 常用传感器介绍
-2.4 常用执行器介绍
-第二章 作业
-3.1 模拟信号处理简介
-3.2 信号放大和隔离电路
-3.3 滤波电路
--3.3 滤波电路
-3.4 运算电路(一)
-3.5 运算电路(二)
-3.6 电压比较器
-3.7 功率放大电路
-3.8 模-数转换器
-3.9 数-模转换器
-第三章 作业
-4.1 直流电源简介
-4.2 线性稳压电源
-4.3 开关稳压电源
-第四章 作业
-5.1 微处理器简介
-5.2 微处理器和片上系统的发展历程
-5.3 微处理器分类
-5.4 微处理器和片上系统举例
-5.5 微处理器和片上系统硬件结构
-5.6 外围接口和设备
-5.7 嵌入式软件开发方法
-5.8 嵌入式操作系统
-5.9 外围设备应用程序开发简介
-第五章 作业
-6.1 TM4C123 简介
-6.2 TM4C123 实验板
-6.3 TM4C123 软件开发
-6.4 TM4C123 实验举例
-第六章 作业
-7.1 PSoC简介
-7.2 PSoC实验板
-7.3 PSoC软件开发
-7.4 PSoC实验举例
-第七章 作业
-8.1 FPGA简介
-8.2 FPGA的发展趋势
-8.3 FPGA的特点
-8.4 FPGA的结构
-8.5 FPGA结构举例
-8.6 FPGA设计工具和方法
-8.7 QuartusⅡ集成开发环境
-8.8 DE2-115实验平台简介
-8.9 Verilog硬件设计语言
-- 8.9.8 设计仿真
-8.10 数字电路设计与仿真举例
-第八章 作业
-9.1 SOPC简介
-9.2 Nios II 微处理器简介
-9.3 Avalone总线简介
-9.4 SOPC设计方法简介
-9.5 SOPC设计举例
-- 9.5.1 设计内容
-9.6 Nios II 软件设计
-第九章 作业
-10.1 实验内容与要求
-10.2 实验设备与器材
-10.3 注意事项与调试方法
-10.4 实验结果展示
-第十章 作业
-期末考试
--期末考试