![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA基础和应用
文章平均质量分 56
ERROR:99
小众编程从业者 公众号:坏雷达研究所
展开
-
verilog中直接使用*,/符号进行数学计算时,位宽不匹配的截位问题
verilog中直接使用*,/符号进行数学计算原创 2024-05-23 13:54:52 · 110 阅读 · 0 评论 -
FPGA中数据延迟方案汇总
这种方法利用的是移位寄存器的方法,用的是SLICEM资源。移位输入D(LUT DI1脚)和移位输出Q31(LUT MC31脚)可以进行级联,以形成更大的移位寄存器,达到更大的延迟效果。本质上就是对数据进行多级寄存器缓存,延迟时间以clk的一个周期为单位,消耗的就是寄存器。比较适合延迟固定周期以及延迟周期比较短的情况。缺点:占用的资源比较多。尤其当延迟的数量级较大时,拼接的位移寄器是有个数限制的,如下图则是当延迟时间设置比较久的时候vivado报错的截图。这种方法下,延迟的时间必须小于信号的间隔。原创 2023-01-06 17:51:52 · 3688 阅读 · 2 评论 -
有关SPI通讯的几点补充笔记
MISO( Master Input Slave Output):主设备数据输入,从设备数据输出。MOSI(Master Output Slave Input):主设备数据输出,从设备数据输入;若只进行写操作,主机只需忽略接收到的字节(虚拟数据);反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。也就是说,你发一个数据必然会收到一个数据;你要收一个数据必须也要先发一个数据。CKE = 0:在时钟信号 SCK 的第一个跳变沿采样;CKE = 1:在时钟信号 SCK 的第二个跳变沿采样。.原创 2022-09-01 11:09:31 · 758 阅读 · 0 评论 -
Vivado中Testbench模板(自用)
从ISE切换到Vivado后,一直不习惯该软件的仿真方式。因为有个大麻烦,软件无法自动生成testbench用例。即使网上有VScode搭配插件进行自动生成Testbench的方案,但是实践下来,需要配置python环境,公司电脑对软件的安装设置了很多麻烦,尝试了好久一直出问题,遂放弃。考虑到本身脚本生成的测试用例也只是简略的模板化代码,于是干脆回到原始时代,手写Testbench吧。因为Testbench本身有固定的套路可遵循,可以做一个总结归纳搞一个通用的,以后直接复制过来修修改改就能用。...原创 2022-08-17 17:13:41 · 3327 阅读 · 0 评论 -
Verilog中if /else嵌套的典型用法
if/else的典型使用原创 2022-06-23 19:42:49 · 5934 阅读 · 0 评论 -
FPGA中复位设计总结
FPGA复位总结原创 2022-06-20 21:00:59 · 2117 阅读 · 1 评论 -
FPGA开发中时序不满足(建立时间)的典型案例及解决方法
原先的时序报告:根据时序报告中的路径提示,在ILA的某个路径上建立时间过长,而程序中并未例化ila的核,只是使用了chipscrop.。所以猜测是chipscrop部分的路径时序不收敛。于是去除了名为AD9739_dds的chipscrop,发现时序就满足了。证明时序是chipscrop中插入的ILA造成的时序问题。那么重新加入chipsrop,查看设置,发现他的采样...原创 2019-10-24 11:36:08 · 7284 阅读 · 1 评论 -
基于cy7c68013的USB通信(FPGA端开发资料)
USB基本知识概念:USB是一种通用串行总线。USB系统:一定是由一个PC和外围设备组成。外设称为USB设备,PC为主机。主机里有USB主控制器,负责完成主机和USB设备之间的物理数据传输。USB主控制器分为两种,具体哪两种这与FPGA开发无关,在此不细说。USB设备分为集线器和功能设备两种,集线器可以让一个USB端口连接多个设备。功能设备指的是功能性的设备,例如鼠标键盘。...原创 2019-10-24 11:28:52 · 4903 阅读 · 3 评论 -
SPI FLASH配置7系列的FPGA相关问题(二)设置FLASH配置参数
对FLASH配置速度和位宽的设置 一定要先对工程进行综合图1。然后打开综合后的文件,即点击“Open Syn...原创 2019-06-04 13:59:34 · 1899 阅读 · 0 评论 -
SPI FLASH配置7系列的FPGA相关问题(一)
1.配置流程:FLASH对FPGA的配置一般有两种方式。一种是上电即自配置,第二种是上电后软件下达配置命令后进行配置。对于第二种,其实就是软启动的时序。下图是软启动下,表现SPI X1 FLASH配置FPGA的一般时序过程。对于第一种,也是大多数人关心的上电自配置的流程一般为:上电后,FPGA首先初始化(INIT_B可以显示该状态),初始化没问题后自动启动它...原创 2019-06-04 13:56:56 · 6408 阅读 · 1 评论 -
[FPGA基础应用]基于CPLD+ARM架构模拟PC104总线时序
1.应用背景PC/104总线嵌入式工控机是专门为工控领域设计的具有特定尺寸和接口的计算机。但是在特定的工控中,对处理器的功耗有严格要求。基于X86架构的PC104工控机发热过大容易造成系统的不稳定。ARM架构的处理器具有低功耗高处理的能力,很好弥补了上述不足。但ARM中不支持PC104总线。因此,可以采用ARM+CPLD的结构,通过CPLD来构造PC104部分的时序。附件中论文有对ARM和...原创 2018-09-05 13:55:41 · 2154 阅读 · 4 评论 -
[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 · 18164 阅读 · 8 评论