FPGA技术分享
文章平均质量分 93
从DC到深紫外
硬可至PCB,软可至互联网
展开
-
RTL可拓展设计:VerilogHDL实现数据深度与位宽可配置的DDS发生器
一般IDE都会有DDS的软IP(紫光同创除外,此处着重提醒),用IDE自带的那个软IP肯定比自己写的好用,这个DDS其实演示意义大于实际意义。这两个参数实际上与COS函数发生器的参数一致,用于配置地址宽度与数据深度。就是cos发生器相位在一个时钟周期递增的幅度,相位字。就是每一个时钟周期cos发生器相位的偏移幅度。需要注意的是,DDS发生器依赖于。,使用了其ROM资源优化版本。原创 2024-02-19 15:42:32 · 388 阅读 · 1 评论 -
RTL可拓展设计:VerilogHDL实现数据深度与位宽可配置的余弦函数发生器
虽然两种优化方向的余弦函数发生器的模块名稍有区别,但是参数配置、信号和信号的时序都是一样的。然后看边界情况,如果下溢出(寻址到小于0的空间)就+1,如果上溢出(寻址到大于。相等,因为这样在经验上可以获得精度和空间利用的最高性价比。在这个实现中,利用了余弦函数单周期内的特性求解,节省了。,这四个区间其实都可以用同一段区间的数据生成。的空间)就-1,就可以得到代码中的转换式了。本设计主要利用了查表的原理。中的数据,然后直接输出。需要注意的是,这里建议。以下为ROM优化版本(原创 2024-02-18 11:50:14 · 836 阅读 · 1 评论 -
RTL可拓展设计:VerilogHDL实现2^N深度卷积器
就是用来获取正常的输出数据的。数据先进入输入流水线,然后每一个时钟周期都会通过乘法器组与对应的系数相乘(系数未在图中画出),然后结果进入加法器树进行相加运算,最后得到的结果从。就是卷积器的输出数据,因为卷积结构是一定历史时期数据的与卷积核做向量数乘的结果,而在这个全流水线结构中每从。指示的是用于运算的输入数据的位宽,但是用于输入卷积器参数的APB总线的数据位宽最大只能是32,因此将。比如,在一个8深度卷积器的示例中,共有0-2层(共3层)加法器,,则处于第1层,上一层的地址即为第2层的地址,也就是3到6。原创 2024-02-13 11:37:32 · 868 阅读 · 1 评论 -
RTL可拓展设计:VerilogHDL实现2^N位宽无符号整数乘法器
因为同位宽的乘法器输出与输入的延迟时钟周期数相同,因此也不用考虑时钟周期对齐的问题。但是还是要考虑一下加法器的实现的,4个数直接相加会极大拉慢时钟,对于最终的时序约束不利。因此这里采用先在一个时钟内分别相加其中两个乘法器,下一个时钟周期再完成上一个时钟周期两个结果的相加并输出结果的方式。但是,很多情况下这些乘法器的数量并不足以应对大规模卷积的场景,很多场景也并不需要有如此高速的乘法器。需要注意的是,复位信号是同步触发的,这有利于系统时序,降低毛刺出现的概率。这个实现也没什么好讲的,纯纯的穷举。原创 2024-02-10 19:00:40 · 1121 阅读 · 1 评论 -
基于SPI的FPGA-MCU通用通信界面设计与技术详解
FPGA开发板:米联客MLK_S201_AP106开发板(安路官方PH1A90验证板改版),主芯片PH1A90SBG484-2,等效LUT4资源约110K,带有一个FMC-LPC连接器,适合用于一般高速采集应用。SPI协议:CPOL=0,CPHA=0,8bit通信,MSB First。建议使用带有外设DMA的、至少有一主一从两个SPI的MCU平台。原创 2023-07-26 23:18:37 · 1331 阅读 · 2 评论 -
DDS详解——以安路PH1A90实现为例
MCU在发起一次通信时,先传给FPGA一个0x5A的开始字节,然后是要写入的寄存器的一个8位地址,然后是要写入的4字节数据,低位字节先传输。最重要的是,板上有单电源转双电源的电路,FPGA只需要给子板5V供电即可,十分人性化,极大满足了当代大学生的电赛需求。相位如果增加了2PI,就是过了一个周期,而增量的大小,就对应了周期的大小,也就对应了频率的大小。但是我不想用这么low的办法,我想用的是DDR的512MByte深度,有点好高骛远,因此到现在为止暂时还没实现,还请等待一下吧,哈哈(悲伤的笑脸)。原创 2023-07-14 20:58:41 · 686 阅读 · 3 评论