2012年10月20日

(原创)LEON3入门教程(一):什么是LEON3?需要哪些开发工具和软件?

摘要: 本系列博客主要简述了如何将简单的LEON3 SOPC系统的配置,并移植到的友晶 DE2-70开发板上,并根据AMBA 总线协议设计一个的用户自定义APB IP,并嵌入到这个SOPC系统中。共分为四个部分,第一部分对LEON3一些基本知识进行介绍,以及开发需要使用到的软件和源代码;第二部分介绍Cygwin和GRtools软件的安装和配置说明;第三部分介绍LEON3 SOPC系统构建,并使用Eclipse (LEON3 IDE) LEON3 开发应用程序;最后一部分简单介绍了简单APB IP核(七段数码管的IP)的设计。 阅读全文

posted @ 2012-10-20 21:18 超群天晴 阅读(9697) 评论(2) 推荐(3) 编辑

2012年10月12日

(原创)由XPS生成AXI Lite 从设备IP模板我们能学到的东西

摘要: 查看由XPS的向导生成的AXI Lite IP代码模板中,我们能学习到用户自定义IP的结构和实现方式。拿写寄存器来说,我们能看到这样的一段代码 1 // implement slave model register(s) 2 always @( posedge Bus2IP_Clk ) 3 begin 4 5 if ( Bus2IP_Resetn == 1'b0 ) 6 begin 7 slv_reg0 <= 0; 8 slv_reg1 <= 0; 9 slv_reg2 <= 0;10 ... 阅读全文

posted @ 2012-10-12 21:19 超群天晴 阅读(2876) 评论(5) 推荐(1) 编辑

2012年10月9日

(原创)一步一步学ZedBoard & Zynq(四):基于AXI Lite 总线的从设备IP设计

摘要: 本小节通过使用XPS中的定制IP向导,为已经存在的ARM 处理系统添加用户自定IP(Custom IP ),了解AXI Lite IP基本结构,并掌握AXI Lite IP的定制方法,为后续编写负责AXI IP打下基础。同时本小节IP定制方法同样适用于MicroBlaze处理系统。 本小节定制的是简单LED的IP,只有一个数据寄存器,向其写值就可以控制8个LED相应亮灭。 阅读全文

posted @ 2012-10-09 20:42 超群天晴 阅读(20254) 评论(39) 推荐(9) 编辑

2012年10月7日

(原创)一步一步学ZedBoard & Zynq(三):使用自带外设IP让ARM PS访问FPGA

摘要: 这一节的目的是使用XPS为ARM 处理系统 PS 添加额外的IP。从IP Catalog 标签添加GPIO,并与ZedBoard板子上的8个LED灯相连。当系统建立玩后,产生bitstream,并对外设进行测试 阅读全文

posted @ 2012-10-07 22:57 超群天晴 阅读(9519) 评论(56) 推荐(2) 编辑

2012年9月19日

[转]FPGA工程师:持守梦想or屈于现实

摘要: 转自特权同学的博客:http://blog.chinaaet.com/detail/26656.html写得很有感触,给正在找工作或者重新开始找工作的战士们FPGA工程师:持守梦想or屈于现实——2012-04-02于海拔6km之上 昨晚无意间看到一段新闻频道对最近炒得火热的“史上最年轻教授”的专访,倒是他的一位同学对于梦想的“现实版”解说颇有些耐人寻味。大体意思是说“拼了老命考上一所梦寐以求的大学,父母辛辛苦苦交了学费,我们却挑了最容易的学分拿,为了求得一份好工作我们都已经失去了对梦想的追逐”。或许这都是曾经处于就业压力中的我们真实的写照,而在我们如愿拿到了或者如意或者迁就着的offer摸爬 阅读全文

posted @ 2012-09-19 15:46 超群天晴 阅读(2184) 评论(0) 推荐(1) 编辑

2012年9月8日

(原创)一步一步学ZedBoard & Zynq(二):使用PL做流水灯

摘要: 《一步一步学ZedBoard & Zynq》系列第二篇,目的是为了学习不使用ARM PS情况下,只对Zynq PL的编程方法,同时学习Xilinx PlanAhead工具的使用方法 阅读全文

posted @ 2012-09-08 16:52 超群天晴 阅读(12708) 评论(9) 推荐(0) 编辑

(原创)一步一步学ZedBoard & Zynq(一):ZedBoard的第一个工程Helloworld

摘要: Zed板上的Zynq是一个ARM PS(processing system, 双核A9 + 存储管理 + 外设)+ PL(programable Logic) 结构,如果不使用PL,zynq的开发和普通的ARM 开发一样。不同的是ARM PS是可配置,因而硬件信息是不固定的。这也是zynq灵活性的一个表现。这是本系列的第一篇,因而会给出详细步骤的截图。 阅读全文

posted @ 2012-09-08 16:42 超群天晴 阅读(20258) 评论(46) 推荐(1) 编辑

2012年8月31日

(原创)K60 的 I2S音频接口设计

摘要: 拿到Freescale Kinetis K60已经一段时间了,想闲着的时候做个SD+FatFs+DAC的音乐播放器,输出直接驱动扬声器。看了好几天的英文手册,Freescale的I2S太麻烦了,除了标准I2S模式,还有普通模式和Network模式。要开始找工作了,还需要学Perl跟Cadence IC,等找完工作再把SD卡和文件系统加上,完整成音乐播放器。效果图测试视频:软件设计不做详细说明了,硬件设计是自己的一个弱项,这里简单说说硬件电路吧。方案有两种1、MAX5556+LM358二阶低通滤波器+LM386功率放大2、PT8211+RC低通滤波器+LM386功率放大两种方案都是在单电源(5V 阅读全文

posted @ 2012-08-31 21:03 超群天晴 阅读(4312) 评论(2) 推荐(0) 编辑

2012年5月31日

(原创)Verilog的文件调用`include使用方法

摘要: Verilog中可以使用预处理命令 `include "文件名" 来包含新文件。`include "文件名"的位置需要在 module声明之后。这里举个例子,param.h存放了参数LENTH,顶层mult.v使用了它。mult.v代码如下 1 module mult ( 2 input clk, 3 input rst, 4 input [LENTH-1:0] A, 5 input [LENTH-1:0] B, 6 output [LENTH-1:0] C 7 ); 8 9 `include "param.h"10 11 reg [ 阅读全文

posted @ 2012-05-31 09:38 超群天晴 阅读(3919) 评论(0) 推荐(0) 编辑

2012年3月17日

(原创)TWR MCF51CN 总线时钟控制和串口测试程序编写

摘要: 昨天下午开始熟悉飞思卡尔的TWR(塔)系统,MCU是CodeFire V1 核的MCF51CN。TWR系统碟所附带的lab均是搭载了MQX,而且网络上的资源少之又少。为了学习这款MCU,决定还是看datasheet然后编写各个模块的代码。由于时间紧张,详细寄存器定义和使用方法以后再添上。1、MCGMCF51CN的时钟比较复杂,与以往的16位MCU不用,MCF51CN的多用途时钟生成模块(Multipurpose Clock Generator,MCG) 比以往的MCU时钟控制更为复杂、精细,带来的是更多的选择和更低的功耗(在我看来是更为麻烦的编程……)。MCG模块图时钟源(Reference 阅读全文

posted @ 2012-03-17 21:43 超群天晴 阅读(871) 评论(0) 推荐(0) 编辑

2011年1月8日

[转] 开源硬件时代的挑战和新的机遇

摘要: 开放源码硬件是近十年来出现的设计方法,尽管出现的时间不短了,但是更多的停留在概念层面。随着FPGA芯片密度提高和成本降低,这一概念正在逐渐受到越来越多的关注。那么未来 FPGA能否成为开源硬件普及的催化剂呢?1998年,Delft University of Technology 的一些学生和老师在互联网上发起Open Design Circuits Group, 目的是开放电路设计并把它发布在网上。后来产生了两个开源硬件网站:Opencores 和 OpenIPcore,后来OpenIPcore 合并入Opencores,现在成为eASIC公司。网址是:http://www.Opencore 阅读全文

posted @ 2011-01-08 21:03 超群天晴 阅读(740) 评论(0) 推荐(0) 编辑

2010年12月19日

突然而来的爱情故事

摘要: 突然而来的爱情故事,东爱的主题曲,想学日语 阅读全文

posted @ 2010-12-19 21:02 超群天晴 阅读(304) 评论(0) 推荐(0) 编辑

2010年12月17日

(原创)如何解决matlab乱码问题

摘要: Matlab显示乱码,可能是编码问题,通过修改字体解决 阅读全文

posted @ 2010-12-17 15:03 超群天晴 阅读(3837) 评论(0) 推荐(0) 编辑

2010年11月28日

(原创)NIOS中断编程

摘要: 1、注册中断处理程序在sys/alt_irq.h文件中,注册中断使用的函数是extern int alt_irq_register (alt_u32 id, void* context, void (*irq_handler)(void*, alt_u32));id 是IRQ的编号,system.h 会自动生成context是上下文,还不知道有什么用void (*irq_handler)(void*, alt_u32) 是中断函数,中断函数的定义需要完全依照void * ,a... 阅读全文

posted @ 2010-11-28 21:30 超群天晴 阅读(1903) 评论(0) 推荐(2) 编辑

2010年11月18日

(原创)360 与 sopc builder 不兼容

摘要: 最近发现了Quartus II的最新版本 (9.0 及以上),在运行SOPC builder的时候,与360软件不兼容的情况。 阅读全文

posted @ 2010-11-18 21:07 超群天晴 阅读(533) 评论(2) 推荐(1) 编辑

导航