放飞梦想,成就未来!
· C语言结构体对齐
2009-10-25 14:19:21 阅读(3) 评论(0)
矿泉水瓶的底部都有一个带箭头的三角型 , 三角型里面有一个数字 。
一般矿泉水瓶子,底部标示 1
农夫山泉4升装, 底部标示 2
2009-10-13 21:15:53 阅读(3) 评论(1)
命令行是计算机系统中最重要的组件之一。它可以帮助开发人员更方便的控制系统。在调试过程中,可以让开发人员随时变更测试方法。
FPGA的成本越来越低,FPGA上的嵌入式系统(SOPC)也应用得越来越广泛。但是相对其他成熟的计算机体系,SOPC系统现在还没有命令行。为了更好的推广SOPC应用,笔者开发了一个智能的命令行模块,可以调用系统中的任意函数,降低了开发人员的使用难度。在最小配置时,它只有大约1000行代码,占用14KB存储容量,可以放在完全由FPGA片内资源构成的计算机系统中。它的结构也具有很好的扩展性,开发人员可以结合自己的需求,轻松添加命令,丰富它的特性。
命令行框架设计
1 总体设计
好的命令行要具有扩展性,开发人员能轻松添加自己的命令;也要傻瓜化,简单易于使用。
为了达到这两个目的,可采用
2009-10-13 21:13:40 阅读(19) 评论(0)
异步FIFO结构及FPGA设计
摘要:首先介绍异步FIFO的概念、应用及其结构,然后分析实现异步FIFO的难点问题及其解决办法;在传统设计的基础上提出一种新颖的电路结构并对其进行综合仿真和FPGA实现。
关键词:异步电路 FIFO 亚稳态 格雷码
1 异步FIFO介绍
在现代的集成电路芯片中,随着设计规模的不断扩大,一个系统中往往含有数个时钟。多时钟域带来的一个问题就是,如何设计异步时钟之间的接口电路。异步FIFO(First In First Out)是解决这个问题一种简便、快捷的解决方案。使用异步FIFO可以在两个不同时钟系统之间快速而方便地传输实时数据。在网络接口、图像处理等方面,异步FIFO得到了广泛的应用。
异步FIFO是一种先进先出的电路,使用在需要产时数据接口的部分,
2009-10-13 21:08:36 阅读(11) 评论(0)
如果从工程师和研究生的专业方向来看,电子信息专业的方向大概有
1)数字电子线路方向。从事单片机(8位的8051系列、32位的ARM系列等等)、FPGA(CPLD)、数字逻辑电路、微机接口(串口、并口、USB、PCI)的开发,更高的要求会写驱动程序、会写底层应用程序。
单片机主要用C语言和汇编语言开发,复杂的要涉及到实时嵌入式操作系统(ucLinux,VxWorks,uC-OS,WindowsCE等等)的开发、移植。
大部分搞电子技术的人都是从事这一方向,主要用于工业控制、监控等方面。
2)通信方向。一个分支是工程设计、施工、调试(基站、机房等)。另一分支是开发,路由器、交换机、软件等,要懂7号信令,各种通信相关协议,开发平台从ARM、DSP到Linux、Unix。
3)多媒体方向。各种音频、视频编码、解码,mpeg2、mpeg4、h.264、h.263,开发平台主要是ARM、DSP、windows。
2009-10-13 21:08:05 阅读(25) 评论(0)
ARM、DSP、FPGA的技术特点和区别是什么?
◆ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。
◆DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理
2009-10-13 21:06:52 阅读(29) 评论(0)
随着数字电子系统设计规模的扩大,一些实际应用系统中往往含有多个时钟,数据不可避免地要在不同的时钟域之间传递。如何在异步时钟之间传输数据,是数据传输中一个至关重要的问题,而采用FIFO正是解决这一问题的有效方法。异步FIFO是一种在电子系统中得到广泛应用的器件,多数情况下它都是以一个独立芯片的方式在系统中应用。本文介绍一种充分利用FPGA内部的RAM资源,在FPGA内部实现异步FIFO模块的设计方法。这种异步FIFO比外部FIFO 芯片更能提高系统的稳定性。
1 FIFO的基本结构和工作原理
FIFO(First In First Out)是一种采用环形存储结构的先进先出存储器。其使用一个双端口存储器存放数据,数据发送方在一端写入数据,接收方在另一端读出数据,能够协调好两个时钟域的工作,满足高时钟频率的要求。FIFO在FPGA设计中主要用来缓冲
2009-10-1 18:37:28 阅读(9) 评论(0)
书中自有黄金屋,书中自有颜如玉。读书自古就是平头百姓成为达官贵族的一块敲门砖,尤其那些出身贫寒的书生更加渴望陡然平步青云的机遇,那是质的飞跃,衣食无忧的前提下,一家老小鸡犬****的美景就成了千古美谈,处处皆是赞美之声,满城全是仰慕之光,怪不得会将金榜提名时作为人生三大喜之一也就在情理之中。但鲤鱼跳龙门也好,鸡犬****也罢,光明的背后同时孕育着黑暗,不是每一个人都有当主角的幸运,在供需失衡的前提下,皆大欢喜的局面成了奢望,迷茫与彷徨成为不可抗拒的顽症。拿得起,放得下,是举重,拿得起,放不下,是负重。农村出身的80后正像后者一样在钢筋水泥的都市中蹒跚行走,在这个不相信的眼泪的时代,他们面对自己的尴尬未来徘徊不定。
前段时间邹邹有理接触了不少80后同龄人,其中有些从农村出来的80后引起了我的注意。简单、纯朴是大家一致的看法,但似乎每个人的脸上都挂着沉重与彷徨,尤其是激情欢悦的时刻都很忘我,但在静谧的刹那却然静的吓人,不是故意装酷,而是说自己对未来的迷茫。
2009-9-11 22:09:20 阅读(59) 评论(0)
状态机的概念
状态机是软件编程中的一个重要概念。比这个概念更重要的是对它的灵活应用。在一个思路清晰而且高效的程序中,必然有状态机的身影浮现。
比如说一个按键命令解析程序,就可以被看做状态机:本来在A状态下,触发一个按键后切换到了B状态;再触发另一个键后切换到C状态,或者返回到A状态。这就是最简单的按键状态机例子。实际的按键解析程序会比这更复杂些,但这不影响我们对状态机的认识。
进一步看,击键动作本身也可以看做一个状态机。一个细小的击键动作包含了:释放、抖动、闭合、抖动和重新释放等状态。
2009-8-11 18:58:45 阅读(101) 评论(0)
开始学的时候,也被此类问题困扰很久。其实相关的文章很多,感觉说清楚的不多。结构体到底怎样对齐?
有人给对齐原则做过总结,具体在哪里看到现在已记不起来,这里引用一下前人的经验(在没有#pragma pack宏的情况下):
原则1、数据成员对齐规则:结构(struct或联合union)的数据成