关于自定义IP
、接口
a、全局信号 时钟(Clk),复位(reset_n) b、avalon mm slave
地址(as_address)
片选(as_chipselect /as_chipselect_n)
写请求(as_write / as_write_n)
写数据(as_writedata(按照字节对齐,//32位位宽)
读请求(as_read / as_read_n)
读数据(as_readdata)(按照字节对齐,//32位位宽) 等待信号(as_waitrequest / as_waitrequest_n)
读数据有效信号(as_data_valid) 中断请求(irq / irq_n) c、导出信号,导出到NIOS 系统顶层,分配到IO,或者连接到Qsys系统以外的逻辑 、内部寄存器和线网的定义
数据寄存器(读/写)
状态寄存器(IP运行状态、数据状态……)
控制寄存器
中断屏蔽寄存器
用户自定义寄存器 、Avalon总线对寄存器的读写 //写入数据
always@(posedge clk or negedge reset_n)
if(!reset_n)
channel <= 'd0;
else if(as_chipselect && as_write && (as_address == ))
channel <= as_writedata[:]; //写指定地址实现相应功能,不考虑写入值
always@(posedge clk or negedge reset_n)
if(!reset_n)
control <= 'd0;
else if(as_chipselect && as_write && (as_address == ))
control <= 'd1;
else
control <= 'd0; //读寄存器逻辑
always@(posedge clk or negedge reset_n)
if(!reset_n)
as_readdata <= 'd0;
else if(as_chipselect && as_read)begin
case(as_address)
:as_readdata <= {'d0, data};
:as_readdata <= {'d0, channel};
:as_readdata <= {'d0, freq_sclk};
:as_readdata <= {'d0, irqmask};
:as_readdata <= {'d0, status};
default:as_readdata <= 'd0;
endcase
end 、用户逻辑对寄存器的赋值
always@(posedge clk or negedge reset_n)
if(!reset_n)
status[] <= 'd0;
else if(Conv_Done)
status[] <= 'b1;
else if(as_chipselect && as_read && (as_address == ))
status[] <= 'b0; always@(posedge clk or negedge reset_n)
if(!reset_n)
status[] <= 'd0;
else if(ADC_State)
status[] <= 'b1;
else
status[] <= 'b0;

NIOS II 自定义IP核编写基本框架的更多相关文章

  1. NIOS II 自定义IP核的静态地址对齐和动态地址对齐

    如果使用静态地址对齐(每个寄存器在Avalon总线上占4个字节的地址)设置IP使用静态地址对齐的方式为,在hw.tcl脚本里加上一局话:set_interface_property as addres ...

  2. vivado设计四:自定义IP核测试

    在vivado设计三中:http://blog.chinaaet.com/detail/37177已经建立了vivado工程和封装好了自定义IP核. 那么接下来,我们对这个自定义IP核进行测试了:我们 ...

  3. vivado设计三:一步一步生成自己的自定义IP核

    开发环境:xp  vivado2013.4 基于AXI-Lite的用户自定义IP核设计 这里以用户自定义led_ip为例: 1.建立工程 和设计一过程一样,见vivado设计一http://blog. ...

  4. AXI-Lite总线及其自定义IP核使用分析总结

    ZYNQ的优势在于通过高效的接口总线组成了ARM+FPGA的架构.我认为两者是互为底层的,当进行算法验证时,ARM端现有的硬件控制器和库函数可以很方便地连接外设,而不像FPGA设计那样完全写出接口时序 ...

  5. Vivado 调用自定义IP核

    关于Vivado如何创建自定义IP核有大量的参考文章,这里就不多加阐述了,本文目的主要是解决如何在新建工程中引用其它工程已经自定义封装好的IP核,从而实现自定义IP核的灵活复用. 举个例子,我们的目标 ...

  6. Quartus设计FIR滤波器的系数文件格式(适用于FIR II的IP核)

    对常用的FIR,我们使用MATLAB的fdatool(或者filterDesigner) 设计滤波器,给定指标,生成系数.为了方便,我们将系数保存到文件,其保存格式比较简介,在此进行说明. 1.FIR ...

  7. 【推荐图书】+ 基于Nios II的嵌入式SoPC系统设计与Verilog开发实例+C#入门经典等

    [推荐图书]+ 基于Nios II的嵌入式SoPC系统设计与Verilog开发实例+C#入门经典等 3赞 发表于 2016/7/4 21:14:12 阅读(1921) 评论(3) 初次接触FPGA,到 ...

  8. quartus ip核破解

    在证书文件中添加一段: FEATURE 6AF7_0012 alterad 2035.12 permanent uncounted E75BE809707E VENDOR_STRING="i ...

  9. NIOS II CPU复位异常的原因及解决方案

    NIOS II CPU复位异常的原因及解决方案   近期在用nios ii做项目时,发现一个奇怪的现象,在NIOS II EDS软件中编写好的代码,烧写到芯片中,第一次能够正常运行,但是当我按下板卡上 ...

随机推荐

  1. Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入(1)

    一.本系列分为6部分 1.Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入 2.Centos 6.5 下安装 Zabbix server 3.0服务器的安 ...

  2. Mysql--可用的 MySQL 产品和专业服务

    一.MySQL Community Edition(社区版):MySQL Community Edition is the freely downloadable version of the wor ...

  3. Cisco动态路由 OSPF协议

    OSPF描述: 组播扩展OSPF  锁定 同义词 ospf一般指组播扩展OSPF 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . OSPF(Open Shortest Path Firs ...

  4. 第八章 分布式配置中心:Spring Cloud Config

    Spring Cloud Config 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持, 它分为服务端与客户端两个部分. 其中服 ...

  5. [Z]CiteSeer统计的计算机领域的期刊和会议的影响因子

    稍微有点早,04年的,但很全 http://emuch.net/html/200510/128286.html 另附一个不明来路的排名:http://www.wi2.uni-erlangen.de/_ ...

  6. C#中 标识符“XXX”不符合 CLS

    标识符“XXX”不符合 CLS,意思是只要是不与外面有接口,比如在私有函数中操作,可是使用一些不符合cls的类型,但是如果是公共的,就必须要符合这个规范. 解决方法是,将这个类中的这些public类型 ...

  7. Ubuntu更新命令 <转>

    apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install package ...

  8. Windows Nginx 基本操作

    Nginx 下载 下载路径:Nginx下载 下载后解压如下图 常用命令 在nginx目录下打开命令行工具(可能需要管理员权限). start nginx : 启动nginxnginx -t 测试ngi ...

  9. 关于springboot中文件上传,properties配置

    spring.http.multipart.enabled=true #默认支持文件上传. spring.http.multipart.file-size-threshold=0 #支持文件写入磁盘. ...

  10. 在MyEclipse中用debug调试应用程序

    F5:单步测试,作用是跳入,比如说一大步中分为10小步,单击F5一次就会走完一小步,走完这一大步则需要单步10次.F6:与F5一样也是单步测试.只不过与F5不同的是F5追求的是过程,而F6追求的是结果 ...