自己写的还有问题的SD卡IP
摘要:module LDM_SDCARD( //Avalon Clock input csi_clk, input csi_rst_n, //Avalon-MM input avs_chipselect, input [1:0] avs_address, //multiple of 4// input [1:0] avs_byteenable_n, //1,2,4,8,16,54,128 input avs_write, input [31:0] avs_writedata, //32bit cpu input avs_read, output reg [31:0] avs_readdata, /.
阅读全文
posted @
2012-08-25 00:07
啊德Blog
阅读(569)
推荐(0)
LCD1602 IP Design
摘要:Avalon-MM____LCD1602 IP Design(1)verilog代码/********************************************************************* Module Name : Crazy_LCD1602* Author : Crazy Bingo* Device : EP2C8Q208C8 * Version : Quartus II 10.1* Date : 2011-3-3* Description : *******************************************************
阅读全文
posted @
2012-08-23 00:42
啊德Blog
阅读(479)
推荐(0)
NIOS II常用函数整理【转】
摘要:IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏移量为REGNUM的单元里面的值。寄存器的值在地址总线的范围之内。返回值: -函数原型:IOWR(BASE, REGNUM, DATA)输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据函数说明:往偏移量为REGNUM寄存器中写入数据。寄存器的值在地址总线的范围之内。返回值: -函数原型:IORD_32DIRECT(BASE, OFFSET) (注意:类似 IOxx_xDIRECT的.
阅读全文
posted @
2012-08-23 00:28
啊德Blog
阅读(635)
推荐(0)
基于DE0的数字钟【SOPC+NIOS】
摘要:http://www.ceet.hbnu.edu.cn/bbs/viewthread.php?tid=7281&extra=page%3D2写在前面的话:最近两天在写这个东西,一直没写出来,最终在一个FPGA研究群里受人指点: #define seg1*(volatile unsigned char *) SEG_1_BASE 这种寄存器映射如果CPU等级选在F型的话,就不能映射,所以我改为S型的。 至于为什么,我也没弄清楚,一会把原因发给大家,我把C程序给大家看。#include "system.h" //包含基本的硬件描述信息#include "alt
阅读全文
posted @
2012-08-23 00:26
啊德Blog
阅读(966)
推荐(0)
NIOS 寄存器的三种映射方式
摘要:http://www.ceet.hbnu.edu.cn/bbs/viewthread.php?tid=7325alt寄存器赋值三种方式:一、#ifdef CRAZY_LED_DATA#define LED_DATA_ADDR (LED_DATA_BASE | (1<<31))#define LED_DATA (*(volatile unsigned int*)LED_DATA_ADDR)#endif二、用API函数 IOWR,IORD…三、用结构体#ifdef CRAZY_LCD1602#define LCD1602_ADDR (LCD1602_BASE | (1<<3
阅读全文
posted @
2012-08-23 00:17
啊德Blog
阅读(710)
推荐(0)
NIOS 寄存器映射方法
摘要:此处以我所写的MAX7219为范例,从HDL接口描述到C语言软件编程,分析两种表面不一样、但实质是一样的寄存器映射方法,找出其中联系与区别。http://www.cnblogs.com/yuphone/archive/2010/04/22/1717779.html方法1 使用Altera提供的API1. 使用HDL描述Avalon-MM接口代码1 Amy_S_max7219_avalon_interface.v?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505
阅读全文
posted @
2012-08-23 00:10
啊德Blog
阅读(747)
推荐(0)
SOPC 8位数码管动态扫描的定制IP
摘要:SOPC 8位数码管动态扫描的定制IPhttp://www.cnblogs.com/Neddy/archive/2010/07/08/1773983.html8位数码管的IP,是动态扫描的//SEG.vmodule SEG(clk,reset_n,address,write,writedata,SEG,COM); input clk; input reset_n; input address; input write; input [31:0] writedata; output [7:0] SEG; //共阳极数码管的段码output [7:0] COM; //位码reg [31:0] da
阅读全文
posted @
2012-08-22 23:48
啊德Blog
阅读(526)
推荐(0)
Avalon-MM____SD_CARD IP Design
摘要:http://www.cnblogs.com/crazybingo/archive/2011/03/03/1970151.html(1)verilog代码/********************************************************************* Module Name : Crazy_SDCARD* Author : Crazy Bingo* Device : EP2C8Q208C8 * Version : Quartus II 10.1* Date : 2011-3-3* Description : *********************
阅读全文
posted @
2012-08-21 23:17
啊德Blog
阅读(328)
推荐(0)
转:在SOPC定制自己的IP
摘要:http://www.cnblogs.com/kingst/archive/2010/06/05/1752363.htmlNIOS II是一个建立在FPGA上的嵌入式软核处理器,除了可以根据需要任意添加已经提供的外设外,用户还可以通过定制用户逻辑外设和定制用户指令来实现各种应用要求。这节我们就来研究如何定制基于Avalon总线的用户外设。SOPC Builder提供了一个元件编辑器,通过这个元件编辑器我们就可以将我们自己写的逻辑封装成一个SOPC Builder元件了。下面,我们就以PWM实验为例,详细介绍一下定制基于Avalon总线的用户外设的过程。 我们要将的PWM是基于Avalon总线中
阅读全文
posted @
2012-08-21 22:34
啊德Blog
阅读(1811)
推荐(1)
NIOS 常用头文件
摘要:#ifndef TERASIC_INCLUDES_H_#define TERASIC_INCLUDES_H_#include <stdio.h>#include <stdlib.h> // malloc, free#include <string.h>#include <stddef.h>#include <unistd.h> // usleep (unix standard?)#include "sys/alt_flash.h"#include "sys/alt_flash_types.h"#
阅读全文
posted @
2012-08-20 00:32
啊德Blog
阅读(2519)
推荐(0)
转载:NIOS II spi详解
摘要:【笔记】NIOS II spi详解NIOS II spi详解1、说明本文是依据笔者阅读《Embedded Peripherals (ver 9.0, Mar 2009, 4 MB).pdf》参考文档所作的个人理解,可以看做是笔记吧。本文只讲NIOSII嵌入式外设SPI的原理与使用,关于IP-CORE的使用,请读者参考 《SPI Slave JTAG to Avalon Master.pdf》。在下一篇文章中将用实例说明如何用SPI驱动ADS1256。2、功能描述Spi通讯包括两条数据线(进、出)、一条同步时钟线和一条控制线。(1)Master Out Slave In (mosi)—主设备输入
阅读全文
posted @
2012-08-17 22:07
啊德Blog
阅读(5274)
推荐(0)
转载:NIOS2 SD卡 SPI操作函数
摘要:unsigned char CS_EN,DI_EN ;void delay(int i){ while(i>0) { i--; }}unsigned char Write_Cmd(unsigned char *cmd,unsigned char lres){ unsigned char rddata[1],time=0; do { time=0; IOWR_ALTERA_AVALON_PIO_DATA(CS_EN_BASE,0); IOWR_ALTERA_AVALON_PIO_DATA(DI_EN_BASE,0); alt_avalon_spi_command(SPI_BASE,0,6,
阅读全文
posted @
2012-08-17 22:04
啊德Blog
阅读(1952)
推荐(0)