- 博客(27)
- 资源 (12)
- 收藏
- 关注
原创 AI玩具来了,它怎么样?
当前通用语言大模型固有的一些缺点:无法处理复杂流程、“七秒钟”的记忆、文本长度的限制等,在AI玩具的场景下,反而不会是问题。
2024-06-16 17:21:42
852
原创 FPGA中乘除法运算实现途径
在 Xilinx 系列 FPGA 中实现带符号的小数的乘除法,可以采用定点小数乘除或浮点小数乘除两种方法。选择哪种方法取决于具体的应用需求。Xilinx 提供了一些工具和资源,可以帮助您实现小数乘除。
2024-04-24 23:23:43
652
1
原创 FPGA中数据延迟方案汇总
这种方法利用的是移位寄存器的方法,用的是SLICEM资源。移位输入D(LUT DI1脚)和移位输出Q31(LUT MC31脚)可以进行级联,以形成更大的移位寄存器,达到更大的延迟效果。本质上就是对数据进行多级寄存器缓存,延迟时间以clk的一个周期为单位,消耗的就是寄存器。比较适合延迟固定周期以及延迟周期比较短的情况。缺点:占用的资源比较多。尤其当延迟的数量级较大时,拼接的位移寄器是有个数限制的,如下图则是当延迟时间设置比较久的时候vivado报错的截图。这种方法下,延迟的时间必须小于信号的间隔。
2023-01-06 17:51:52
4263
2
原创 有关SPI通讯的几点补充笔记
MISO( Master Input Slave Output):主设备数据输入,从设备数据输出。MOSI(Master Output Slave Input):主设备数据输出,从设备数据输入;若只进行写操作,主机只需忽略接收到的字节(虚拟数据);反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。也就是说,你发一个数据必然会收到一个数据;你要收一个数据必须也要先发一个数据。CKE = 0:在时钟信号 SCK 的第一个跳变沿采样;CKE = 1:在时钟信号 SCK 的第二个跳变沿采样。.
2022-09-01 11:09:31
795
原创 Vivado中Testbench模板(自用)
从ISE切换到Vivado后,一直不习惯该软件的仿真方式。因为有个大麻烦,软件无法自动生成testbench用例。即使网上有VScode搭配插件进行自动生成Testbench的方案,但是实践下来,需要配置python环境,公司电脑对软件的安装设置了很多麻烦,尝试了好久一直出问题,遂放弃。考虑到本身脚本生成的测试用例也只是简略的模板化代码,于是干脆回到原始时代,手写Testbench吧。因为Testbench本身有固定的套路可遵循,可以做一个总结归纳搞一个通用的,以后直接复制过来修修改改就能用。...
2022-08-17 17:13:41
3535
原创 AD5752芯片使用笔记
1.特点:双通道 16位 串行输入 单/双极性三线SPI 24bit的数据给入接口四线SPI SDO脚用于回读数据 输出电压正负5/10/10.8V可选串行配置最高30Mhz输入数据格式二进制和偏移二进制可选(Pin BIN/2sComp)2.配置: ...
2021-08-16 14:09:03
1002
原创 FPGA开发中时序不满足(建立时间)的典型案例及解决方法
原先的时序报告:根据时序报告中的路径提示,在ILA的某个路径上建立时间过长,而程序中并未例化ila的核,只是使用了chipscrop.。所以猜测是chipscrop部分的路径时序不收敛。于是去除了名为AD9739_dds的chipscrop,发现时序就满足了。证明时序是chipscrop中插入的ILA造成的时序问题。那么重新加入chipsrop,查看设置,发现他的采样...
2019-10-24 11:36:08
7454
1
原创 基于cy7c68013的USB通信(FPGA端开发资料)
USB基本知识概念:USB是一种通用串行总线。USB系统:一定是由一个PC和外围设备组成。外设称为USB设备,PC为主机。主机里有USB主控制器,负责完成主机和USB设备之间的物理数据传输。USB主控制器分为两种,具体哪两种这与FPGA开发无关,在此不细说。USB设备分为集线器和功能设备两种,集线器可以让一个USB端口连接多个设备。功能设备指的是功能性的设备,例如鼠标键盘。...
2019-10-24 11:28:52
5222
3
原创 FFT的前世今生
好像图片都挂了........文章word版,以及《深入浅出通信原理》上传在主页信号的表达先肯定一点,信号可以分解为多项式相加的的一种形式。即a+bX+cX2+dX3....。为了更好理解,该多项式应该满足:我理解为,表达式里,时域上的次方,要能对于到频域上的相应次数的频率。这样,当两个信号相乘的时候,我们就可以用卷积计算出来他们的最终结果(时域的相乘等于频域的卷积)。之所以要去...
2019-06-04 14:10:31
616
原创 SPI FLASH配置7系列的FPGA相关问题(二)设置FLASH配置参数
对FLASH配置速度和位宽的设置 一定要先对工程进行综合图1。然后打开综合后的文件,即点击“Open Syn...
2019-06-04 13:59:34
1927
1
原创 SPI FLASH配置7系列的FPGA相关问题(一)
1.配置流程:FLASH对FPGA的配置一般有两种方式。一种是上电即自配置,第二种是上电后软件下达配置命令后进行配置。对于第二种,其实就是软启动的时序。下图是软启动下,表现SPI X1 FLASH配置FPGA的一般时序过程。对于第一种,也是大多数人关心的上电自配置的流程一般为:上电后,FPGA首先初始化(INIT_B可以显示该状态),初始化没问题后自动启动它...
2019-06-04 13:56:56
6553
1
原创 [ZYNQ入门宝典]GTX高速口带着IBERT一起玩(二)
(全文以7Z045为例)1.IBERT初体验: IBERT全称 Integrated Bit Error Ratio Tester ,顾名思义:集成好的单比特高速误码率测试工具。它可以利用FPGA内部资源,评估检测FPGA中GTX的通断和通信性能。一般的误码率可以算到十的负十二次方级别。 通过在IP 生成时的设置,可以分别对链路进行内该IP可以对通讯速率,参考时钟速率,数据...
2019-01-18 16:16:54
5189
1
原创 [ZYNQ入门宝典]GTX高速口怎么玩(一)
GTX的概述 高速接口本来就复杂,Xilinx的IP虽然方便,但定制化参数较多,需要去了解的知识很多,官方文档就四五百页。还好在大多数应用里我们都只是用了其皮毛。我也是第一次学习GTX的IP,两个礼拜里摸索出一点东西,在这记录下。SERDESSERDES就是G级速率以上的串行/解串器。Xilinx给出的方案就是芯片里内嵌GTX,GTH,GTP等模块。这里就以GTX为例。Transcei...
2019-01-18 15:58:21
12754
1
原创 [ZYNQ入门宝典]定制带AXI_Lite总线的用户IP
碎碎念:AXI总线是ZYNQ系列中连接FPGA和ARM的最重要的途径之一。在ZYNQ中AXI分三种模式,具体不去详述,读者可自行百度。这里我们想定制一个用户IP,利用AXI_Lite总线,从PS端将LED闪烁命令传达到PL端,最终实现LED的闪动。网上对于IP定制的教程有很多,这里贴出2个供读者参考:https://blog.csdn.net/NarutoInspire/article/d...
2018-09-19 16:08:44
1895
2
原创 [ZYNQ入门宝典]年轻人的第一盏LED灯
碎碎念:在ZYNQ系列芯片中,用BD文件搭建PL_PS全系统是最常见的设计手段,设计BD文件最基本的操作就是基于IP的框图搭建。但官方提供的 IP 不可能涵盖到方方面面,用户还是需要自己编写硬件描述语言,然后将其封装成 IP 来使用。所以,在 VIVADO 中创建用户自定义的IP是最基本的操作技能。想把ZYNQ的最大功效发挥,则必定要让PS和PL协同工作。让PL和PS之间产生点联系,最简单...
2018-09-19 14:23:28
1805
原创 [ZYNQ入门宝典]爱之初体验
碎碎念:ZYNQ系列的FPGA从问世到如今已历经好几年。作为最先进的SOC系列之一,市场用实际行动证明了Xilinx公司在硬件架构上所具有的前瞻性,ZYNQ在越来越多的场景下发挥了其独具魅力的作用,雷达、人工智能、数据加速等等不计其数。博主不才,几个月前还一直在使用ISE14.7。机缘巧合,手头有个项目正好要用到ZYNQ,实验室也刚好买了706开发板,于是想以此为契机把ZYNQ系列产品好好研究...
2018-09-13 14:57:45
6256
原创 [FPGA基础应用]基于CPLD+ARM架构模拟PC104总线时序
1.应用背景PC/104总线嵌入式工控机是专门为工控领域设计的具有特定尺寸和接口的计算机。但是在特定的工控中,对处理器的功耗有严格要求。基于X86架构的PC104工控机发热过大容易造成系统的不稳定。ARM架构的处理器具有低功耗高处理的能力,很好弥补了上述不足。但ARM中不支持PC104总线。因此,可以采用ARM+CPLD的结构,通过CPLD来构造PC104部分的时序。附件中论文有对ARM和...
2018-09-05 13:55:41
2210
4
转载 [转载]FPGA功耗那些事
在项目设计初期,基于硬件电源模块的设计考虑,对FPGA设计中的功耗估计是必不可少的。笔者经历过一个项目,整个系统的功耗达到了100w,而单片FPGA的功耗估计得到为20w左右,有点过高了,功耗过高则会造成发热量增大,温度高最常见的问题就是系统重启,另外对FPGA内部的时序也不利,导致可靠性下降。其它硬件电路的功耗是固定的,只有FPGA的功耗有优化的余地,因此硬件团队则极力要求笔者所在的FP...
2018-08-27 10:12:34
535
原创 [FPGA基础应用]DDS正弦波发生器
首先分享两篇有关dds信号产生的文章。一、来源:http://www.digilent.com.cn/community/241.html在开始DDS这个实验之前需要先解释一下DDS原理,摘了一段网上大神的解释:基本原理框图:两个关键术语: a. 相位累加器:Phase = Phase + freq_ctrl,可以暂且理解为i = i + 1一样的东西。 ...
2018-08-23 17:02:09
18473
8
转载 【转载】串口波特率的生成
串口波特率的生成文章来源:https://www.cnblogs.com/christsong/p/5506342.htmlFPGA通常工作在MHz,而串口波特率远远低于该频率(最高标准速率115200),所以我们需要想办法生成一个滴答时钟来尽可能的接近串口波特率。这里我们用串口链路的最高速度来举例说明:先来啰嗦一段在典型的串口设计中,RS-232芯片通常使用1.8432MHz的时...
2018-08-23 11:38:26
1235
转载 [转载]低于时钟频率的任意频率生成(相位累加器)
原文地址:https://www.cnblogs.com/christsong/p/5506127.html相位累加器主要用在直接数字频率合成器(DDS)中,其中的几个主要的参数为输入频率fc,输出频率fo,计数器位宽N,频率控制字K(即计数器递增步长)。它们之间的关系为:fo=(fc * K) / 2N,假设输入频率fc为100MHz,计数器位宽N为32,要产生1kHz的信号,则K=(...
2018-08-23 11:23:22
492
原创 和ZYNQ学习相关的博主
1.Zynq构建SoC系统深度学习笔记系列 http://www.eefocus.com/antaur/blog/16-01/376840_33af3.html2.zedboard如何从PL端控制DDR读写 https://www.cnblogs.com/christsong/p/5672807.html3.ZYNQ入门到精通,同时博文里也有涉及sys gen和Vivado+SDK实现...
2018-08-08 09:46:31
477
8
VHDL点亮LED
2018-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人