摘要:
学习FPGA时,对于乘法的运算,尤其是对于有符号的乘法运算,也许最熟悉不过的就是 BOOTH算法了。这里讲解一下BOOTH算法的计算过程,方便大家对BOOTH的理解。 上图是BOOTH算法的数学表达。由于FPGA擅长进行并行移位计算,所以BOOTH算法倒也好实现。 上图是对乘数的加码过程,具体可... 阅读全文
摘要:
1.若是读者第一次做板子,强烈建议画完PCB板后将PCB图打印出来,然后对照你买的芯片将芯片放置对应的位置,然后查看所有的封装格式适不适合,否则等你做出板子来后再试,为时晚矣。笔者虽然知道要这么做,但是笔者第一次发给工厂做回来的PCB发现有一个芯片封装画大了,而且那个芯片还是贴片封装的,这让笔者心... 阅读全文
摘要:
首先对于 altera 公司的FPGA芯片来讲,在cyclone III代以上,芯片的底部增加了一个焊盘,很多工程师往往以为是散热用,其实不然,底部焊盘需要接地(altera手册上面明确规定,The E144 package has an exposed pad at the bottom of... 阅读全文
摘要:
上一篇博客讲述了各个部分的原理图,那么根据原理图画出PCB,其实PCB是一门很大的学问,想要掌握谈何容易。就笔者在画PCB时的一些注意事项做一些说明。 1.电源部分的电源线尽量走粗,能够提供较大的电流,其实可以想象成河流,越宽的河流流过的水越多,差不多就这个道理了。走线... 阅读全文
摘要:
1 系统方案 对于设计一款硬件平台,首先要确定整体框架,确定各个模块所需要的芯片以及电压分配情况。图2.6是笔者曾经设计的硬件平台系统。图2.6系统框图 对于选定一个系统方案之后,接下来做的要先去查看所选用的芯片的数据手册。那么查看手册一般有几点必须要注意,(1)FPGA的工作电压,确定若FPGA正... 阅读全文
摘要:
学习FPGA,多多少少应该要懂得硬件电路的设计,这样不单单增加了自己的技能,而且还能够对FPGA的硬件实现有更好的了解。1 模块划分 对于一个基本的FPGA硬件平台,常用的几个电路部分:(1)电源电路;(2)复位电路;(3)时钟电路;(4)外设电路;(5)配置电路。如图2.1所示。图2.1 常用电... 阅读全文
摘要:
(一)一个基本概念分贝(dB):按照对数定义的一个幅度单位。对于电压值,dB以20log(VA/VB)给出;对于功率值,以10log(PA/PB)给出。dBc是相对于一个载波信号的dB值;dBm是相对于1mW的dB值。对于dBm而言,规格中的负载电阻必须是已知的(如:1mW提供给50Ω),以确定等效... 阅读全文
摘要:
ADC的分辨率被定义为输入信号值的最小变化,这个最小数值变化会改变数字输出值的一个数值。对于一个理想ADC来说,传递函数是一个步宽等于分辨率的阶梯。然而,在具有较高分辨率的系统中(≥16位),传输函数的响应将相对于理想响应有一个较大的偏离。这是因为ADC以及驱动器电路导致的噪声会降低ADC的分辨率... 阅读全文
摘要:
笔者最近在做的一个项目中,用到一片16位的高分辨率的芯片,借此再学习一下由于ADC和DAC的相关知识,以此巩固。 关于ADC的精度和分辨率将在另外一篇博客讨论,分辨率不等于精度。 一块精度0.2%(或常说的准确度0.2级)的四位半万用表,测得A点电压1.0000V,B电压1.0005V,可以分出B... 阅读全文
摘要:
对于很多初学者,大部分都是急于求成,熟不知越是急于求成,最终越是学无所成,到头来两手空空,要学好FPGA,必须弄懂FPGA本质的一些内容。1.FPGA内部结构及基本原理 FPGA是可以编程的,必须通过了解FPGA内部结构才能很好地理解为什么FPGA是可以编程的。学习FPGA不能像学习其他CPU芯片... 阅读全文