电子发烧友网 > 可编程逻辑 > 正文

基于FPGA的Cordic算法实现的设计与验证

2018年07月03日 10:18 次阅读

CORDIC(Coordinate RotaTIon Digital Computer)算法即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数、双曲线、指数、对数的计算。该算法通过基本的加和移位运算代替乘法运算,使得矢量的旋转和定向的计算不再需要三角函数、乘法、开方、反三角、指数等函数。

本文是基于FPGA实现Cordic算法的设计与验证,使用Verilog HDL设计,初步可实现正弦、余弦、反正切函数的实现。将复杂的运算转化成FPGA擅长的加减法和乘法,而乘法运算可以用移位运算代替。Cordic算法有两种模式,旋转模式和向量模式。可以在圆坐标系、线性坐标系、双曲线坐标系使用。本文线初步实现在圆坐标系下的两种模式的算法实现。

Cordic算法简化

基于FPGA的Cordic算法实现的设计与验证

旋转模式,迭代位移算法。假设有一点P0(x0,y0),经过逆时针旋转角度θ,到达点Pm(xm,ym),我们根据数学运算可以得到公式如下:

xm = x0cosθ - y0sinθ = cosθ(x0 – y0tanθ)

ym = y0cosθ + x0sinθ = cosθ(y0 – x0tanθ)

如果不考虑旋转后的向量模值,只考虑旋转角度,即去掉cosθ,得到如下方程式。这里旋转的角度的正确的,但x和y的值增加。cosθ值是小于等于1的,值大于等于1,所以模值应该增大。我们不能通过适当的数学计算去掉cosθ,但是去掉cosθ项可以方便我们后面的坐标平面旋转的计算。这里称为伪旋转。

xm = x0 – y0tanθ

ym = y0 – x0tanθ

Cordic的方法核心就是伪旋转,将旋转角θ细化成若干个大小固定的角度θi,规定θi满足tanθi = 2^-i,通过一系列的迭代旋转,每次旋转θi,i为迭代次数,规定∑θi的范围即旋转角度θ的范围为[-99.7, 99.7]。如果θ的大于这个范围则可通过三角运算操作转化到该范围的角度。

我们通过事先将所有每次旋转的角度计算出来,由于每次旋转的角度是固定的,所以经过i次旋转的∑θi可能会超过θ,所以就必须设置一个方向值di,如果旋转角度之和已经小于θ,则di为1,下次旋转继续为顺时针旋转,如果旋转角度之和大于θ,则di为-1,下次旋转为逆时针。设置zi+1为旋转剩余角度,zi+1 = z0 – dizi,z0 = θ,随着i值得增大,zi+1会趋向于0时,即旋转结束。di与zi的符号位相同。

采用伪旋转的方法,每次提出一个cosθi,旋转结束后会产生一个∏cosθi的累乘,一旦我们确定了迭代次数,∏cosθi就是一个常数,迭代公式可写为。这是将cosθi提出、tanθi 替换成 2^-i后的结果。di与zi的符号位相同。

xi+1 = xi - di * yi * 2^-i

yi+1 = yi + di * xi * 2^-i

zi+1 = z0 - di * θi

设迭代i = n - 1,那么旋转n次后得到Pm的坐标应该为(xn * ∏cosθi, yn * ∏cosθi)。应为每次迭代都会提出一个cosθi,旋转n次后的xn和yn就会少乘一个∏cosθi,所以实际上最终的Pm坐标角度近似于(xn * ∏cosθi, yn * ∏cosθi)。

xn * ∏cosθi = x0cosθ - y0sinθ

yn * ∏cosθi = y0cosθ + x0sinθ

xn = 1/∏cosθi (x0cosθ – y0sinθ)

yn = 1/∏cosθi (y0cosθ – x0sinθ)

伸缩因子,KN = 1 / ∏cosθi,已知迭代次数,我们可以预先计算KN的值。如下这是博主使用MATLAB计算出的迭代结果数值。

基于FPGA的Cordic算法实现的设计与验证

xn =KN (x0cosθ – y0sinθ)

yn = KN (y0cosθ – x0sinθ)

从上表可以得出,我们预先计算出KN的值,然后令x0 = ∏cosθi,y0 = 0,则上述公式可化简为

xn = cosθ

yn = sinθ

即可实现正弦、余弦操作了。

旋转模式

总结一下,Cordic算法旋转模式使用Verilog HDL的实现流程

(1) 确定迭代次数,将每次迭代的角度计算出来,预先定义为参数,为了避免浮点运算,将角度值向左移位16位,取整数部分。

(2) 根据迭代公式进行迭代计算,本设计取16次迭代,从上表可以看出,当迭代次数越大时,1/∏cosθi会趋向于一个确定值。如果对结果精度要求更高,可以设置更高的迭代次数,根据迭代次数,可以将伸缩因子KN = 1/∏cosθi计算出来。同样将其左移16位。

xi+1 = xi - di * yi * 2^-i

yi+1 = yi + di * xi * 2^-i

zi+1 = z0 - di * θi

(3) 设置x0 = ∏cosθi,y0 = 0,则求出x16 = cosθ,y16 = sinθ。

这里需要注意的是,我们在进行迭代运算的时候,将2^-i变成移位运算,对于正余弦来说是有正负的,所以在一开始定义的时候,就应该定义成有符号数,Verilog中也可以定义有符号数,最高位表示符号位,定义如下

基于FPGA的Cordic算法实现的设计与验证

基于FPGA的Cordic算法实现的设计与验证

迭代寄存器定义为有符号数,那么我们移位运算就不能用》》逻辑右移《《逻辑左移或来移位了,而是用》》》算术右移和《《《算术左移。逻辑左移也就相当于算数左移,右边统一添0 ,逻辑右移,左边统一添0 ,算数右移,左边添加的数和符号有关。

例如1010_1010, []是添加的位

逻辑左移一位:0101_010[0]

算数左移一位:0101_010[0]

逻辑右移一位:[0]101_0101

算数右移一位:[1]101_0101

迭代运算采用16级流水线,进行运算,最终需要判断输出的正余弦值在哪个象限,前面讲旋转角度θ的范围为[-99.7,99.7],不在这个范围我们要进行三角运算使其满足这个范围,当输入的角度小于90度即可进行计算,当输入角度大于90度小于180度,将输入角度减去90度并设定当前角度处于第二象限,然后进行计算,当输入角度大于180度小于270度,将输入的角度减去180度设置当前角度处于第三象限,进行计算,当输入的角度大于270度,减去270设置当前角度处于第四象限,进行计算。象限的设定通过quarant寄存器实现。

基于FPGA的Cordic算法实现的设计与验证

如果角度在第一象限,sin(x) = sin(a),cos(x) = sin(a)最后的结果x16 = cosθ, y16 = sinθ,这里我想起了那句口诀,一全正,二正弦,三正切,四余弦

如果角度在第二象限,sin(x) = sin(a+90) = cos(a),cos(x) = cos(a+90) = -sin(a)

如果角度在第三象限,sin(x) = sin(a+180) = -sin(a),cos(x) = cos(a+180) = -cos(a)

如果角度在第四象限,sin(x) = sin(a+270) = cos(a),cos(x) = cos(a+270) = -sin(a)

对于正数,我们直接赋值输出,负数,这里使用有符号数表示,将其取反加1即可。最终使用modelsim对算法进行仿真,从波形图上看已经初步实现了sin,cos函数。

基于FPGA的Cordic算法实现的设计与验证

向量模式

Cordic算法在向量模式下的计算方法和旋转模式基本上是类似的,设有一点P0(x0, y0),经过顺时针旋转角度到与轴重合,得到点Pm(xm, ym),即ym = 0。

xm = x0cosθ - y0sinθ = cosθ(x0 – y0tanθ)

ym = y0cosθ + x0sinθ = cosθ(y0 – x0tanθ) = 0

我们设置x0 = x, y0 = y, z0 = 0,迭代次数为16,经过16次迭代后得到zn = θ = arctan(y/x)和坐标所代表的向量的模值d = xm = xn * ∏cosθi,di与yi方向相反,即当时结束运算。实现方法为判断yi的符号位,符号位为1,di为1,符号位为0,di为-1。

xi+1 = xi - di * yi * 2^-i

yi+1 = yi + di * xi * 2^-i

zi+1 = z0 - di * θi

关于反正切函数,由于在[-99.7°,99.7°]范围内,所以我们输入向量P0(x0, y0)时,需要保证其在第一、四象限。

下面是使用MATLAB计算出来的数据和FPGA计算出来的数据进行比较。

基于FPGA的Cordic算法实现的设计与验证

基于FPGA的Cordic算法实现的设计与验证

从FPGA计算出的结果与MATLAB来比较,和实际结果之间的误差还是挺小的,毕竟是硬件计算出来的数据,向量的误差就比较大了,如果对于精度比较高的计算,我们可以通过提高迭代次数来提高精度。至此基于FPGA的Cordic算法就实现结束了。

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

FPGA在自动驾驶车内部发挥的重要作用详细资料概...

虽然每个人都希望宣示ASIC的所有权,但大部份最先进的处理都是以FPGA完成的,它让用户有机会在高效...

发表于 2018-07-03 10:34 27次阅读
FPGA在自动驾驶车内部发挥的重要作用详细资料概...

使用Xilinx Vivado设计套件创建一个...

Xilinx以制造 可编程门阵列(FPGA)而闻名,它是基于一个通过可编程接点连接的可配置逻辑块(C...

发表于 2018-07-03 10:19 7次阅读
 使用Xilinx Vivado设计套件创建一个...

基于FPGA +AD7609的数据采集系统的实现...

随着信息技术的发展,特别是各种数字处理器处理速度的提高,人们对数据采集系统的要求越来越高,特别是在一...

发表于 2018-07-03 09:01 18次阅读
基于FPGA +AD7609的数据采集系统的实现...

Qt配置Altera SoC FPGA Kit

发表于 2018-07-03 08:41 6次阅读
Qt配置Altera SoC FPGA Kit

数字图像水印的FPGA实现步骤

未加水印的图像表示为f水印表示为w,常数a控制水印和衬底图像的相对可见性。如果a为1,则水印是不透明...

发表于 2018-07-03 08:22 17次阅读
数字图像水印的FPGA实现步骤

Xilinx Zynq-7000系列:基于ARM...

该委员会专门设计用于与来自锡林克斯的PYNQ项目合作,并使用Python语言和库,设计师可以创建高性...

发表于 2018-07-03 08:17 14次阅读
Xilinx Zynq-7000系列:基于ARM...

清华大学魏少军教授:从IA到AI,我们还要走多远

清华大学魏少军教授指出,未来10年,人工智能和深度学习将成为提升硅片需求的主导因素。到2025年,人...

发表于 2018-07-02 18:10 444次阅读
清华大学魏少军教授:从IA到AI,我们还要走多远

新思科技公司宣布集成化混合原型验证解决方案

通过对新设计的功能使用Virtualizer虚拟原型技术和对重用逻辑使用基于FPGA的HAPS原型技...

发表于 2018-07-02 11:50 31次阅读
新思科技公司宣布集成化混合原型验证解决方案

“万能芯片”FPGA在深度学习领域的用法

而众所周知,在专用芯片与通用芯片中间,还有一个更为灵活,也更为神秘的领域:FPGA。无论是英特尔天价...

发表于 2018-07-02 07:59 136次阅读
“万能芯片”FPGA在深度学习领域的用法

Xilinx Spartan-6系列封装概述和管...

 Spartan-6系列具有低成本、省空间的封装形式,能使用户引脚密度最大化。所有Spartan-6...

发表于 2018-07-01 10:48 46次阅读
Xilinx Spartan-6系列封装概述和管...

FPGA简单门电路怎么实现?

verilog实现反相器,2输入与门、2输入或门、2输入与非门、2输入或非门、2输入异或门、2输入同...

发表于 2018-07-01 10:28 43次阅读
FPGA简单门电路怎么实现?

xilinxGTH的example design问题

发表于 2018-06-30 22:21 60次阅读
xilinxGTH的example design问题

十年开发经验工程师谈FPGA设计技巧

发表于 2018-06-29 14:45 312次阅读
十年开发经验工程师谈FPGA设计技巧

关于基于FPGA和ARM的虚拟软盘实现

随着硬件技术的进步,软盘逐渐被新的存储介质代替。但部分旧设备(比如织布机等)并不支持这些更快、容量更...

发表于 2018-06-29 14:26 189次阅读
关于基于FPGA和ARM的虚拟软盘实现

关于基于FPGA的HDMI多模式显示模块的设计

随着社会信息化程度的不断提高,人们对视频处理的要求越来越高,视频处理系统处理的数据量也越来越大。在嵌...

发表于 2018-06-29 14:13 174次阅读
关于基于FPGA的HDMI多模式显示模块的设计

关于基于FPGA的多模式数字匹配滤波器的设计与实...

数字匹配滤波器是直接序列扩频通信系统中的关键部件,可以通过编程实现接收端同步和解扩,提高通信系统数字...

发表于 2018-06-29 14:12 150次阅读
关于基于FPGA的多模式数字匹配滤波器的设计与实...

RAM分为简单双口RAM和真双口RAM

真双口RAM给设计带来很多便利。在高速存储中,需要对连续的数据同时处理,使用简单双口RAM只能读取一...

发表于 2018-06-29 08:54 704次阅读
RAM分为简单双口RAM和真双口RAM

Windows应用程序,操作系统,计算机硬件之间...

前面说过操作系统能很好的去操作底层硬件,但是不知道什么时候去操作和操作到了什么程度,这些都是由应用程...

发表于 2018-06-29 08:49 270次阅读
Windows应用程序,操作系统,计算机硬件之间...

LT3070:为FPGA和服务器应用设计的稳压...

采用低电压运作的新式 FPGA 和服务器对于细微的电源电压下降很敏感。这种压降可能是以下因素综合作用...

发表于 2018-06-28 12:13 178次阅读
 LT3070:为FPGA和服务器应用设计的稳压...

关于基于FPGA的可消除高频非线性的动态分频鉴相...

鉴相技术是电力电子系统和测试控制中的关键技术之一,在仪器仪表、通信、导航定位、研究网络相频特性和锁相...

发表于 2018-06-28 11:53 204次阅读
关于基于FPGA的可消除高频非线性的动态分频鉴相...

基于Xilinx 16nm Virtex Ult...

基于Xilinx 16nm Virtex UltraScale+ 器件VU9P的异构计算实例F3在阿...

发表于 2018-06-28 09:57 495次阅读
基于Xilinx 16nm Virtex Ult...

基于FPGA的图像加速解决方案

百度云云市场从产品、技术、客户资源等多渠道,开放资源与能力,引入第三方合作伙伴,与合作伙伴深度合作,...

发表于 2018-06-28 09:51 764次阅读
基于FPGA的图像加速解决方案

关于 LTM4643 的特性介绍与应用

LTM4643 是一款四输出降压型 μModule® (电源模块) 稳压器,该器件可配置为单输出 (...

发表于 2018-06-28 04:14 298次阅读
关于 LTM4643 的特性介绍与应用

请问为什么烧写.jic文件时显示烧写失败但是测量CONF_DONE引脚是高电平?如何解决?

发表于 2018-06-27 16:11 156次阅读
请问为什么烧写.jic文件时显示烧写失败但是测量CONF_DONE引脚是高电平?如何解决?

FPGA系统中三种方式减少亚稳态的产生

在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于...

发表于 2018-06-27 10:11 86次阅读
FPGA系统中三种方式减少亚稳态的产生

FPGA设计的“三个代表”:Ultrafastd...

UFDM建议正确的HDL coding风格来满足目标器件,讨论时序约束和时序收敛。正确的IO约束,I...

发表于 2018-06-27 09:50 51次阅读
FPGA设计的“三个代表”:Ultrafastd...

便携式GNSS导航信号采集回放系统,可编写针对K...

该系统的监控端采用了基于CortexA8系列的ARM处理器,该处理器同时兼顾了成本与性能的要求,可设...

发表于 2018-06-27 09:15 65次阅读
便携式GNSS导航信号采集回放系统,可编写针对K...

关于FPGA的功耗评估需要知道些什么

项目设计初期会选型,工程师根据资源、IO、硬核、IP等选择对应型号的FPGA。功耗部分xilinx提...

发表于 2018-06-27 09:05 55次阅读
关于FPGA的功耗评估需要知道些什么

新一代SoC FPGA提供系统可信根,防止关键数...

物联网(IoT)的规模和复杂性不断上升,对主动的强化安全措施的需求日益增加。仅利用软件安全功能已经不...

发表于 2018-06-27 08:31 76次阅读
新一代SoC FPGA提供系统可信根,防止关键数...

如何应对FPGA的拥塞问题

发表于 2018-06-26 15:19 241次阅读
如何应对FPGA的拥塞问题

在Altera SoC上面演示Android应用...

该演示由Altera全球合作伙伴Fujisoft提供。演示在Altera SoC上面的Android...

发表于 2018-06-26 08:08 149次阅读
在Altera SoC上面演示Android应用...

关于嵌入式FPGA的内容详解

换句话说,eFPGA是一种数字可重构结构,由可编程互连中的可编程逻辑组成,通常表现为矩形阵列,数据...

发表于 2018-06-25 17:51 146次阅读
关于嵌入式FPGA的内容详解

FPGA需要跑多快?影响FPGA计算性能的几大因...

我们写软件程序的时候,习惯了给函数很多参数作为条件,根据参数内容执行函数的操作。FPGA做计算就不希...

发表于 2018-06-25 16:46 342次阅读
FPGA需要跑多快?影响FPGA计算性能的几大因...

为什么使用FPGA?FPGA为什么比GPU的延迟...

计算密集型任务的例子包括矩阵运算、图像处理、机器学习、压缩、非对称加密、Bing 搜索的排序等。这类...

发表于 2018-06-25 16:02 421次阅读
为什么使用FPGA?FPGA为什么比GPU的延迟...

关于基于4通道时间交织的FPGA高速采样系统的设...

高性能的模数转换器(Analog Digital Converter,ADC)被广泛应用于通信、仪器...

发表于 2018-06-25 11:45 293次阅读
关于基于4通道时间交织的FPGA高速采样系统的设...

关于光电扫描测量网络信号采集模块的设计

基于光电扫描的坐标定位系统是近年来新兴的一种坐标测量方法,具有精确度高、不易受周围环境干扰等优点,因...

发表于 2018-06-25 11:35 261次阅读
关于光电扫描测量网络信号采集模块的设计

关于带通采样星载AIS非相干接收机的FPGA实现

AIS系统是一种船舶交通信息交换系统,船载AIS设备不断发送自身信息,如航向、吨位等,用以领航调度、...

发表于 2018-06-25 11:13 245次阅读
关于带通采样星载AIS非相干接收机的FPGA实现

FPGA约束的详细介绍

介绍FPGA约束原理,理解约束的目的为设计服务,是为了保证设计满足时序要求,指导FPGA工具进行综合...

发表于 2018-06-25 09:14 105次阅读
FPGA约束的详细介绍

6657设置为1个2X+2个1X模式,2X与FPGA连接,一个1X与DSP连接, 另外一个1X对外连接,请问这三个连接能同时收发数据吗?

发表于 2018-06-25 06:16 82次阅读
6657设置为1个2X+2个1X模式,2X与FPGA连接,一个1X与DSP连接, 另外一个1X对外连接,请问这三个连接能同时收发数据吗?

请问如何实现6657DSP 评估板与xilinx kintex7 FPGA之间的PCIE连接?

发表于 2018-06-25 05:14 68次阅读
请问如何实现6657DSP 评估板与xilinx kintex7 FPGA之间的PCIE连接?

通过EMIF16将外接FPGA输出的信号传给DSP,请问下能不能提供个EMIF的例程?

发表于 2018-06-25 04:07 63次阅读
通过EMIF16将外接FPGA输出的信号传给DSP,请问下能不能提供个EMIF的例程?

利用SRIO接口从FPGA向6678的共享内存发送数据,请问相比于单核从共享内存读取数据会慢多少?

发表于 2018-06-25 01:31 66次阅读
利用SRIO接口从FPGA向6678的共享内存发送数据,请问相比于单核从共享内存读取数据会慢多少?

FPGA资源怎么平民化?阿里云的新改造

FPGA (现场可编程门阵列)由于其硬件并行加速能力和可编程特性,在传统通信领域和IC设计领域大放异...

发表于 2018-06-23 09:44 94次阅读
FPGA资源怎么平民化?阿里云的新改造

FPGA中的冒险现象和如何处理毛刺

通过改变设计,破坏毛刺产生的条件,来减少毛刺的发生。例如,在数字电路设计中,常常采用格雷码计数器取代...

发表于 2018-06-23 08:49 102次阅读
FPGA中的冒险现象和如何处理毛刺

面向数据包处理的Xilinx智能解决方案

在开放式协作服务爆炸性增长以及移动和社交网络不断发展的推动下,结合智能设备的普及以及不同服务供应商和...

发表于 2018-06-22 15:13 87次阅读
面向数据包处理的Xilinx智能解决方案

NGcodec谈FPGA编码在HEVC和AV1上...

随着HEVC、AV1等更复杂算法的Codec份额逐步增长,实现高质量视频编解码需要硬件支持,软件的方...

发表于 2018-06-22 15:01 85次阅读
NGcodec谈FPGA编码在HEVC和AV1上...

关于基于分数低阶协方差谱的频谱感知算法研究及其F...

长期以来,传统的频谱管理与划分采用静态频谱分配方式[1],导致无线频谱利用率低下,同时研究发现,即使...

发表于 2018-06-22 14:58 332次阅读
关于基于分数低阶协方差谱的频谱感知算法研究及其F...

Xilinx FPGA对数字信号处理的性能

Xilinx FPGA 可提供卓越的数字信号处理 (DSP) 性能,能够满足音频处理、接口、压缩、嵌...

发表于 2018-06-22 14:57 77次阅读
Xilinx FPGA对数字信号处理的性能

关于基于分段多项式近似的DDFS研究及FPGA实...

感应式磁力仪基于法拉第电磁感应原理,用于探测近地空间的低频交变磁场[1],它通常自带标准信号源,用于...

发表于 2018-06-22 14:55 258次阅读
关于基于分段多项式近似的DDFS研究及FPGA实...

分布式算法是一项重要的FPGA技术

式中:xb(n) 表示第n个数据的第b位。由于x(n)为有限位数据,且xb(n)的取值为[0,1],...

发表于 2018-06-22 14:53 388次阅读
分布式算法是一项重要的FPGA技术

关于基于前导的OFDM系统信道估计及FPGA实现

正交频分复用(OFDM)由于具有抗多径衰落,频谱利用率高等特点,因而被广泛用于无线通信系统中。但是由...

发表于 2018-06-22 14:51 293次阅读
关于基于前导的OFDM系统信道估计及FPGA实现

获得高校、专家一致认可的小脚丫FPGA开发板到底...

背景 微控制器作为目前嵌入式系统设计的主力军在各行各业得到了广泛的应用,但随着物联网、智能硬件、VR...

发表于 2018-06-22 11:35 94次阅读
获得高校、专家一致认可的小脚丫FPGA开发板到底...

Maxim外设模块极限节省您的设计时间和成本!

Maxim外设模块借助多种便利的模拟和混合信号功能节省设计时间和成本。这些模块可以很容易地插入配置为...

发表于 2018-06-22 11:00 201次阅读
Maxim外设模块极限节省您的设计时间和成本!

FPGA仿真问题

发表于 2018-06-22 09:56 208次阅读
FPGA仿真问题

如何调试Quartus浮动许可证

调试 Quartus 浮动许可证

发表于 2018-06-22 08:51 220次阅读
如何调试Quartus浮动许可证

关于 FPGA 中的高级 IO 时序

高级 IO 时序

发表于 2018-06-22 05:05 183次阅读
关于 FPGA 中的高级 IO 时序

采用FPGA DIY开发板控制蜂鸣器产生作用

蜂鸣器——FPGA

发表于 2018-06-22 03:29 190次阅读
采用FPGA DIY开发板控制蜂鸣器产生作用

基于FPGA的异步FIFO的实现

大家好,又到了每日学习的时间了,今天我们来聊一聊基于FPGA的异步FIFO的实现。 一、FIFO简介...

发表于 2018-06-21 11:15 826次阅读
基于FPGA的异步FIFO的实现

基于单片机对FPGA进行编程配置

本文实现了基于遗传算法的硬件演化过程。通过Mcu随机产生种群,选择好的基因进行交叉变异产生后代,然...

发表于 2018-06-21 10:45 147次阅读
基于单片机对FPGA进行编程配置

揭秘造芯黑马的神秘面纱

如果说目前高端集成电路的落后现状是因为我国相关产业起步晚、积累少导致的,对于如今再次兴起的人工智能浪...

发表于 2018-06-21 08:02 527次阅读
揭秘造芯黑马的神秘面纱

FPGA和CPU如何搭配?

如下图,FPGA作为协处理器,CPU把指令写入内存,FPGA从内存读取指令执行,并把计算结果写入内存...

发表于 2018-06-20 15:17 472次阅读
FPGA和CPU如何搭配?

PCB设计过程中需要考虑的因素

千兆位级串行I/O技术有着极其出色的优越性能,但这些优越的性能是需要条件来保证的,即优秀的信号完整性...

发表于 2018-06-20 14:24 128次阅读
PCB设计过程中需要考虑的因素

FPGA和ASIC之间界限正在模糊,FPGA为未...

该系列器件现在包括从基本的可编程逻辑一直到复杂的SoC。在各种应用领域(包括汽车,AI,企业网络,航...

发表于 2018-06-20 14:13 96次阅读
FPGA和ASIC之间界限正在模糊,FPGA为未...

可编程在辅助驾驶系统中的应用

通过消除繁琐的驾驶动作,辅助驾驶还可提供更高的舒适水平。例如,传统的巡航控制允许司机设定一个固定的行...

发表于 2018-06-20 14:01 59次阅读
可编程在辅助驾驶系统中的应用

Xilinx的7系列FPGA高速收发器:TX发送...

每一个收发器拥有一个独立的发送端,发送端有PMA(Physical Media Attachment...

发表于 2018-06-20 13:48 81次阅读
Xilinx的7系列FPGA高速收发器:TX发送...

FPGA学习系列:21. 自动售货机的设计

设计背景: 我们从开始学习 FPGA。到现在也慢慢的学到了血多的东西,那么我们就应该慢慢的去学习深一...

发表于 2018-06-20 10:41 923次阅读
FPGA学习系列:21. 自动售货机的设计

关于FFT硬件实现,设计中RAM输出端为何没有使...

以2048点为例,根据理论值计算,计算一次2048点的IFFT的时间应为130us。在采用流水线的方...

发表于 2018-06-20 09:05 575次阅读
关于FFT硬件实现,设计中RAM输出端为何没有使...

简述 MAX 10 FPGA 的设计安全和如何减...

此次培训涉及到器件的AES加密、JTAG安全,以及唯一ID安全特性和减小SEU等特性。

发表于 2018-06-20 04:29 197次阅读
简述 MAX 10 FPGA 的设计安全和如何减...

利用FPGA_DIY开发板实现按键控制数码管

十八笔画的 FPGA_DIY 按键控制数码管。

发表于 2018-06-20 02:30 224次阅读
利用FPGA_DIY开发板实现按键控制数码管

FPGA_DIY 数码管显示60秒计时

十八笔画的 FPGA_DIY 数码管60秒计时。

发表于 2018-06-20 02:20 238次阅读
 FPGA_DIY 数码管显示60秒计时

通过 FPGA-DIY开发板实现 LED 闪烁灯

gymdove 的 FPGA-DIY LED 闪烁灯视频。

发表于 2018-06-20 01:29 173次阅读
通过 FPGA-DIY开发板实现 LED 闪烁灯

简述 MAX 10 FPGA用户闪存的特点及应用

此次培训介绍用户闪存的优点,以及您怎样在系统中使用它们。配置闪存存放了器件的配置数据。

发表于 2018-06-20 01:29 209次阅读
简述 MAX 10 FPGA用户闪存的特点及应用

FPGA DIY 按键控制数码管显示

asean的 FPGA DIY 按键控制数码管显示的视频

发表于 2018-06-20 00:37 277次阅读
FPGA DIY 按键控制数码管显示

关于PIC和FPGA的区别及优缺点总结

FPGA是逻辑门器件,可以配置成为并行逻辑模块。FPGA最大优点是并行处理。例如构建一百个与非门,F...

发表于 2018-06-19 16:20 467次阅读
关于PIC和FPGA的区别及优缺点总结

增强机器学习能力的“左膀右臂”的GPU、FPGA...

FPGA是帮助公司和研究人员解决问题的芯片。FPGA是一种集成电路,可以编程为多种用途。它有一系列“...

发表于 2018-06-19 15:27 540次阅读
增强机器学习能力的“左膀右臂”的GPU、FPGA...

基于FPGA的PCIe设备如何才能满足PCIe设...

根据PCIe的协议,当设备启动后,PCIe设备必须满足启动时间的要求,即上电后100ms内,完成PC...

发表于 2018-06-19 10:24 86次阅读
基于FPGA的PCIe设备如何才能满足PCIe设...

如何避免升级失败而使FPGA变砖呢?

如果升级过程中出现意外情况,FLASH里面原有的固件被破坏,那么FPGA能够从备份固件区启动配置,即...

发表于 2018-06-19 10:09 89次阅读
如何避免升级失败而使FPGA变砖呢?

单片机中按键消抖程序

效率上来说,延时消抖花费时间在无意义延时上,而相对较好的定时轮询还是不可避免的在轮询,而现在这种方式...

发表于 2018-06-19 08:55 514次阅读
单片机中按键消抖程序

简谈FPGA的上电复位

大家好,博主最近有事忙了几天,没有更新,今天正式回来了。那么又到了每日学习的时间了,今天咱们来聊一聊...

发表于 2018-06-18 19:24 874次阅读
简谈FPGA的上电复位

FPGA学习系列:18. 数码管的设计

设计背景: 数码管是一种半导体发光 器件 ,其基本单元是发光二极管。 数码管在我们的许多设计中都又用...

发表于 2018-06-18 19:24 872次阅读
FPGA学习系列:18. 数码管的设计

FPGA学习系列:19. rom到数码管显示设计

设计背景: rom是读写的的静态存储单元,在我们的设计中我们会经常用到,数码管模块同样的大大小小的设...

发表于 2018-06-18 19:24 742次阅读
FPGA学习系列:19. rom到数码管显示设计

FPGA学习系列:20. ram控制器的设计(调...

设计背景: 随机存取存储器 (random access memory,RAM)又称作随机存储器,是...

发表于 2018-06-18 19:24 960次阅读
FPGA学习系列:20. ram控制器的设计(调...

FPGA成为数据中心发展的趋势及重要性

用AI防鲨鱼、用AI学写中国书法、用AI预测人类死亡时间、用AI审判罪犯……在人工智能方兴未艾的今天...

发表于 2018-06-18 07:16 628次阅读
FPGA成为数据中心发展的趋势及重要性

这种可编程衰减器最高可支持8×8输入输出的矩阵结...

可编程衰减器位于基站和终端之间,通过对射频信号的衰减控制,实现对无线信号的模拟,从而实现对测试场景的...

发表于 2018-06-17 14:02 87次阅读
这种可编程衰减器最高可支持8×8输入输出的矩阵结...

你一定想知道FPGA的那些事...

作者:张泽小脚丫STEP 导读:FPGA(Field Programmable Gate Array...

发表于 2018-06-14 13:35 378次阅读
你一定想知道FPGA的那些事...

利用FPGA的可编程性和Java平台良好的移植性...

传统的嵌入式系统设计的主要目标是找到一种优化的体系结构来完成单一的,特定的功能。对这样的系统来说,A...

发表于 2018-06-14 09:16 92次阅读
利用FPGA的可编程性和Java平台良好的移植性...

用FPGA来实现控制电阻的提供的设计过程

本文介绍了用FPGA来实现控制电阻的提供,用软件的方式来设计硬件,设计过程中可用有关软件进行各种仿真...

发表于 2018-06-14 09:06 104次阅读
用FPGA来实现控制电阻的提供的设计过程

一种基于fpga的多轴控制器,可以控制多轴电机的...

介绍了一种基于fpga的多轴控制器,控制器主要由arm7(LPC2214)和fpga(EP2C5T1...

发表于 2018-06-14 08:24 106次阅读
一种基于fpga的多轴控制器,可以控制多轴电机的...

为应用选择最佳可编程SoC时进行的六个设计考虑

SoC FPGA器件在一个器件中同时集成了处理器和FPGA体系结构。将两种技术合并起来具有很多优点,...

发表于 2018-06-13 14:59 192次阅读
为应用选择最佳可编程SoC时进行的六个设计考虑

FPGA学习系列:13. 任意分频器设计

设计背景: 分频在 fpga的设计中一直都担任着很重要的角色,而说到分频,我相信很多人都已经想到了利...

发表于 2018-06-13 11:21 763次阅读
FPGA学习系列:13. 任意分频器设计

FPGA学习系列:14. 锁相环pll设计

设计背景: 在我们设计工程中我们会用到100M,500M等时钟,如果我们的晶振达不到我们就需要倍频,...

发表于 2018-06-13 11:21 983次阅读
FPGA学习系列:14. 锁相环pll设计

FPGA学习系列:15. 呼吸灯(pwm)设计

设计背景: 呼吸灯 广泛应用于手机之上,并成为各大品牌新款手机的卖点之一。如果手机里面有未处理的通知...

发表于 2018-06-13 11:21 1166次阅读
FPGA学习系列:15. 呼吸灯(pwm)设计

FPGA学习系列:16. rom控制器设计

设计背景: ROM是只读存储器(Read-Only Memory)的简称,是一种只能读出事先所存数据...

发表于 2018-06-13 11:21 624次阅读
FPGA学习系列:16. rom控制器设计

补充: FPGA产生基于LFSR的伪随机数

大家好,又到了每日学习的时间了,上一篇《荐读:基于FPGA 的CRC校验码生成器》文中,提到了要实现...

发表于 2018-06-13 11:21 689次阅读
补充: FPGA产生基于LFSR的伪随机数

FPGA学习系列:12. 边沿检测设计

设计背景: 在我们工程设计中,有时会需要到上升沿和下降沿这么一个说法,通过上升沿和下降沿来驱动一个电...

发表于 2018-06-13 11:20 558次阅读
FPGA学习系列:12. 边沿检测设计

荐读:基于FPGA 的CRC校验码生成器

大家好,又到了每日学习的时间了,今天我们来聊一聊基于FPGA 的CRC校验码生成器。下面咱们就来具体...

发表于 2018-06-13 11:18 637次阅读
荐读:基于FPGA 的CRC校验码生成器

Web Installer提供的各种特性及设计方...

你有没有注意到在Netflix流媒体视频播放时,有时候视频模糊,然后很快恢复到高质量? 你知道Net...

发表于 2018-06-13 09:19 619次阅读
Web Installer提供的各种特性及设计方...

FPGA定点小数的常规格式、相对于浮点小数的优势...

所谓定点小数,就是小数点固定地隐含在某一位置上的数据。由于小数点的位置是固定的,所以就没有必要储存它...

发表于 2018-06-12 19:34 577次阅读
FPGA定点小数的常规格式、相对于浮点小数的优势...

如何在SDK系统中添加新的目标配置

赛灵思SDK允许您使用远程主机中的赛灵思硬件服务器来调试远程目标设备.....

发表于 2018-06-12 09:11 826次阅读
如何在SDK系统中添加新的目标配置

如何使用 Nios II 处理器进行你中意的设计...

使用 Nios II 处理器进行设计”第二部分

发表于 2018-06-11 14:36 654次阅读
如何使用 Nios II 处理器进行你中意的设计...