Nios学习笔记2——流水灯实验

回到quartus,我们新建一个Verilog文件,将之前复制的代码粘贴进去,保存文件为led.v。为了后面的编译,需要将nioscpu的Quartus IP File(.qip)加入项目中,点击Assignments->Settings,在File中将nioscpu.qip加入,如下图所示,点击Add,再点击OK。

接下来,我们建立锁相环PLL,给Nios提供时钟。

单击Tools->MegaWizard Plug-In Manager,点击Next,如图所示,搜索PLL,选择ALTPLL,在右边的输出文件地址中补上pll,点击Next:

接着page 1设置如下:

器件速度等级选8,输入时钟设为50M(因为开发板晶振为50M),点击Next,在page 2上把2个钩去掉,如图所示:

接着一直点击Next,直到设置clk c0,如下图所示设置,将c0输出频率设为100M,这是提供给Nios软核的时钟,与我们之前在Nios中设置的100M时钟频率相对应。

接下来我们还需要设置SDRAM的时钟频率,点击Next,如下图所示,

首先将Use this clock勾选,然后将Enter output clock parameters设置为2,这样实际频率就是100MHz。由于电路板及芯片的信号延迟等原因,我们需要对时钟相移进行调节,以达到 SDRAM 的时钟与软核之间的协调。我们将 Clock phase shift 设置为-73(具体原因请参考Nios那些事儿)。

设置好以后,点击Finish,出现Quartus Ⅱ IP Files的对话框,点击Yes,PLL构建就完成了。接着在led.v文件中对pll进行实例化,并补全整个工程,结果如下图所示,可能有人要问:为什么要用CLOCK,LED和RESET等名字呢?这先卖个关子,后面再解释。

接下来,我们对管脚进行分配。将随开发板一起的资料打开,找到AX301.tcl文件,将它复制到工程目录下。在quartus中点击Tools->Tcl scripts,如下图所示:

点击AX301.tcl,在Preview中我们看到,E15脚被设置为RESET,E1脚被设置为CLOCK,在LED对应的引脚中也有4个脚。大家可以去查看电路图看看对应的对不对。举个例子,如下图所示,E1脚对应CLOCK,而CLOCK正是对应于50M的晶振输入的,可见tcl文件中的设置是正确的。我们在Tcl scripts中点击Run,再点击OK,再点击Close。这时我们点击Assignments –> Pin planner,就可以看到管脚分配已经OK。

最后对工程进行设置,点击Assignments->Device,在出现的页面中点击Device and Pin Options,在Configuration选项卡中钩选Use configuration device,选择EPCS16,如下图所示:

接着在Unused Pins中选择As input tri-stated,这个主要是防止蜂鸣器响,如下图所示,

然后在Dual-Purpose Pins中把所有Value都设置为Use as regular I/O,如下图所示,

然后点击OK。最后开始编译,编译完成后退出。

时间: 2024-08-14 01:58:19

Nios学习笔记2——流水灯实验的相关文章

[51单片机学习笔记ONE]-----LED灯的多种使用方法

一.交替闪烁8个LED灯,时间间隔为1s 1 /****************************************************** 2 实验名称: 交替闪烁8个LED灯,时间间隔1s 3 实验时间: 2014年12月2日 4 ******************************************************/ 5 6 #include <reg51.h> 7 8 void delay(unsigned char a); 9 10 void m

FPGA流水灯实验

源代码下载地址: http://pan.baidu.com/s/14H8D4 FPGA流水灯实验 花了几天通过流水灯实验把学习的verilogHDL的建模技巧总结了一下.写一份总结,给自己制定一套规范,方便以后查看和解决问题. 实现目标: 通过流水灯的实验实现了串行工作,流水线工作(时间并行),并行流水线工作(空间并行).串行工作是CPU的工作方式,也就是一个时间只能做一件事.通过verilogHDL完全可以模仿这种工作方式,也就是说通过CPU实现的算法和驱动程序完全可以转换成对应的verilo

MiS603开发板 第四章 流水灯实验

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ MiS603开发板 第四章 流水灯实验 关于流水灯,网上有太多的例子了.其实只要掌握上面分频计数的技巧,设计流水灯是件极其简单的事情.从

流水灯实验

开发板上有一排LED灯,共26个,LEDR17-LEDR0-LEDG7-LEDG0; 实现以1s间隔从左至右流,循环不断~ 完整代码如下(用的依旧是自动生成的模板): //======================================================= // This code is generated by Terasic System Builder //======================================================

51流水灯实验

  课程名称:_单片机原理与应用 专业班级: 嵌入式14103班 姓    名:_赵存档       _ __ 学    号:_14160310317    __     2015-- 2016   学年第  1 学期     实验项目( 一 ) — 预习报告 项目 名称 LED高低电平交替闪烁程序 实验 目的 及 要求 1. 正确安装keil软件 2. 在 Proteus 的环境下,设计硬件原理图: 3.在keil 集成环境下设计C语言程序: 4. 在 Proteus 的环境下,将硬件原理图与

8051学习笔记——IIC与EEPROM实验

main.c 1 #include <reg51.h> 2 #include "iic.h" 3 #define AT24C02 0xa0 //AT24C02 地址 4 5 sbit LS138A=P2^2; //译码器端 6 sbit LS138B=P2^3; 7 sbit LS138C=P2^4; 8 9 sbit K1 = P1^0; //保存 10 sbit K2 = P1^1; //读取 11 sbit K3 = P1^2; //+数据 12 sbit K4 =

openstack学习笔记:Kvm基础实验环境

系统:centos7.1 安装环境:桌面环境.kvm基础服务 一.关闭selinux [[email protected] ~]# setenforce 0 [[email protected] ~]# sed -i 's/enforcing/disabled/g' /etc/selinux/config 二.关闭iptables [[email protected] ~]# systemctl stop firewalld [[email protected] ~]# systemctl di

Oracle学习笔记之第一节实验环境介绍及推送过程

1.下载bcpserver,通过VMware Workstation 打开虚拟机 2.vim /usr/sbin/workstation.list 修改配置文件,把对应的IP和MAC绑定,此程序最多只能写前90个IP 3.botang-create-dhcpconf 通过此命令调用server dhcpd restart命令. 4.新建一台OCP虚拟机,虚拟机硬盘大小必须设置63G才能顺利完成安装,不拆分文件. 5.设置虚拟机通过网卡PXE启动(虚拟机默认就是PXE启动,物理机需要进BIOS设置

【黑金原创教程】【FPGA那些事儿-驱动篇I 】【实验一】流水灯模块

实验一:流水灯模块 对于发展商而言,动土仪式无疑是最重要的任务.为此,流水灯实验作为低级建模II的动土仪式再适合不过了.废话少说,我们还是开始实验吧. 图1.1 实验一建模图. 如图1.1 所示,实验一有名为 led_funcmod的功能模块.如果无视环境信号(时钟信号还有复位信号),该功能模块只有一组输出端,亦即4位LED信号.接下来让我们来看具体内容: led_funcmod.v 1. module led_funcmod2. (3. input CLOCK, RESET,4. output