2012年8月23日
摘要: 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 阅读(474) 评论(0) 推荐(0)
摘要: 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 阅读(633) 评论(0) 推荐(0)
摘要: 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 阅读(957) 评论(0) 推荐(0)
摘要: 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 阅读(705) 评论(0) 推荐(0)
摘要: 此处以我所写的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 阅读(739) 评论(0) 推荐(0)