
fpga
文章平均质量分 57
没有水杯和雨伞的工科男
这个作者很懒,什么都没留下…
展开
-
FPGA之硬件设计笔记-持续更新中
开发板的设计通常是尽可能的将所有的资源都接出来以便用户使用。外设USB2.0: FPGA的USB2.0 接口interface : 外部扩展接口、 LED、 UART转USB、RTCFPGA3: 电源FPGA2:DDR 接口QSPI接口配置接口FPGA1:时钟输入扩展接口rstU5F: IO bank 的供电电压HP Bank:适用于高速数据传输场景,如DDR内存接口,支持高速差分信号,电压最高1.8V。原创 2025-03-01 00:06:46 · 1666 阅读 · 0 评论 -
fpga开发之verilog奇怪问题探索
问题背景实现一个以太网数据发送的AD采样的数据,但是我仅仅修改ip地址就会导致其输出的udp包出现大量的误码的情况实际上,修改的东西是非常有限的,而且目前遇到的很多的问题都是这种仅仅修改了非常小的东西,就会出现类似这样的意料之外的事情作为一个fpga 的新手,我觉得也是时候了解一下,实际硬件综合后的结果是什么样的了。问题探索思路对于同一个功能观察一下硬件电路实际综合后出来的结果是什么,进行实际的对比。可用的参考资料如下:亚稳态相关:https://zhuanlan.zhihu.com/p/14原创 2021-01-05 10:50:01 · 924 阅读 · 0 评论 -
vivado 实现ila在线监测波形的保存与读取
问题背景想要把ila 在线监测的波形保存下来,以供后续的读取解决方案波形的保存如图所示的波形,是由FPGA板子上的ila 通过jtag 发送到电脑上来的,我们想要存储波形的存储按钮下载存储连接波形的读取读取波形后,波形可以正常的在此处显示出来:欢迎大家关注我得个人微信公众号嵌入式硬件、软件的学习文章、个人感悟、学习交流分享,欢迎关注分享,共同进步。...原创 2021-01-05 10:24:28 · 2596 阅读 · 3 评论 -
Vivado之“前仿真”使用
文章目录前言例子例子说明模块介绍仿真操作仿真设置step1仿真步长添加激励文件进行仿真文件的编写ad采样模块的仿真代码如下:如下所示为仿真波形图:关于仿真窗口的几个按钮说明bug solve欢迎大家关注我的个人微信公众号前言讲述一个vivado的工程如何进行单个文件的功能仿真例子例子说明进行一个ad采样模块的仿真 (此处介绍)(如需要看更简单的例子,请参考我的另一篇文章:https://blog.csdn.net/weixin_42066185/category_10232601.html模原创 2021-01-02 23:42:53 · 1951 阅读 · 0 评论 -
verilog中的同步复位与异步复位
特点:同步复位:顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。用Verilog描述如下:always @ (posedge clk) beginif (!Rst_n)…end异步复位:它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。用Verilog描述如下:always @ (posedge clk,negedge Rst_n) beginif (!Rst_n)…end各自的优缺点:1、总的来说,同步复位的优点大概有3原创 2020-12-26 15:17:56 · 16142 阅读 · 0 评论 -
fpga之vivado 调试千兆以太网出现的误码情况思考
遇到的问题我采用的是artix 开发板加上千兆以太网模块,其出现了较大情况的误码出现可能的原因解决的方案原创 2020-12-03 13:41:14 · 3048 阅读 · 7 评论 -
This port location for the ILA core at location----报错
vivado 的一个报错情况ERROR: [Labtools 27-3412] Mismatch between the design programmed into the device ‘xc7a200t’ (JTAG device index = ‘0’and the probes file(s) ‘\WIN2012-01\Development\elog\trial_images\elog_a7_top.ltx’.The hw_probe ‘slot[0].if_inst/front_end_原创 2020-11-25 13:32:12 · 5694 阅读 · 1 评论 -
一个令自己呕吐的bug---ila默认配置并不是自己想要的
关于ila监测的时候窗口只显示两个数值问题排查(1)当然,对于probe的最开始设定的深度自然是大于2 的,我设定的是8192(2)确定当前所检测的变量的参考时钟,是能够支持我们采样很多组不同变化的数据当前上面说的都可以通过上图否定了,因为上面标记了2,就表示我们采样了两个数据问题解决看一整个监测窗口都包含哪些内容:我们虽然默认 配置8192,但是实际上,看一下setting 配置ila的里面写的是多少?此时,我们将其修改成为8192...原创 2020-11-16 21:27:29 · 437 阅读 · 0 评论 -
vivado-ila调试之时钟问题
参考文章https://blog.csdn.net/weixin_33909059/article/details/93446444要验证的问题验证jtag的时钟频率与ila内部输入的时钟之间的关系。验证方法jtag的时钟,我们采用的系统的工程是LED的流水灯的设计实验。工程代码`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Co原创 2020-11-15 12:12:03 · 12261 阅读 · 2 评论 -
fpga 中的slew rate 什么意思
原创 2020-11-13 10:38:43 · 3528 阅读 · 0 评论 -
vivado~floating-point 使用将ad的定点数转成浮点数
目标我希望将我的并行的ad通道的数据实现定点数向浮点数的转化,这个时候,我采用的是ip core, 实现12位的定点到浮点。这个转化是有一定的时间的消耗的,这个耗时具体多少后面我考虑到的时候再来完善文档。定点转浮点step1step2step3step 4step 5两通道乘法给结果step 1step 2step 3...原创 2020-11-13 10:36:33 · 2015 阅读 · 0 评论 -
vivado 中某些不能在线监测的变量not vivado-debuggable
报错(1) not vivado-debuggable it is not accessible from the fabric routing(2)原因就是有的一些变量我们是没有办法直接在线进行观看的,根据官方的解释如下:These errors are because you are setting the property “MARK_DEBUG” to signals that are not accesible to the ILA. That could be direct inpu原创 2020-11-11 17:12:20 · 4176 阅读 · 7 评论 -
vivado如何实现在线调试功能(ILA)逻辑分析仪
ILA 简介ILA的是一种在线的逻辑分析仪,其主要的作用是可以在线调试一些,系统的寄存器的变量,其仅需要通过连接好jtag 就能正常运行了。项目建立项目说明我建立的就是一个流水灯的文件,最简单的方案,我要监测我的tiemr的变化,和灯的变化的情况.v 文件`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // En原创 2020-11-11 16:55:33 · 5081 阅读 · 2 评论 -
FPGA中的ODDR原语是干嘛用的?
文章目录pll 锁相环实验锁相环的作用ip core——clock wizardclk_wiz 例化oddr 原语oddr 的作用pll 锁相环实验锁相环的作用他的基本的作用是实现频率的变换ip core——clock wizard配置好时钟的输入,我的板子,采用的是artix-7 系列的,板级 有200M的差分时钟的输入。clk_wiz 例化clk_wiz_0 clk_wiz_0_inst(// Clock in ports.clk_in1 (sys_c原创 2020-11-11 16:16:43 · 7471 阅读 · 0 评论 -
关于数电中的建立时间、保持时间等概念
参考文章概念对于这样的概念,其都是对针的是触发器的特性建立时间(Tsu:set up time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定的打入触发器,Tsu就是指这个最小的稳定时间。保持时间(Th:hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被稳定的打入触发器,Th就是指这个最小的保持时间。输出相应时间(Tco)触发器输出的响应时间,也就是触发器的输出在cl转载 2020-08-27 22:00:26 · 1314 阅读 · 0 评论 -
4、vivado之uart串口数据发送与接收
文章目录实验目标实验原理串口协议状态机设定关于波特率,采用115200的波特率设计实验代码rx_uartuart_txuart_top实验仿真仿真结果仿真代码总结实验目标常态下,fpga 侧实现1s一次的的数据发送。在空闲的时候, fpga侧实现串口的数据的接收,然后再通过串口将数据返回给上位机实验原理串口协议状态机设定关于波特率,采用115200的波特率设计实验代码说明:以下的代码是我照着黑金的修改后,形成的自己的代码,要看原来的代码可以参考黑金的资料。rx_uart`times原创 2020-08-01 12:00:54 · 13809 阅读 · 11 评论 -
3、vivado-artix下pll锁相环实验
PLL锁相环的作用根据给定的频率的信号进行多种的不同的其他的频率的时钟信号的生成,用于不同等级的时钟的生成使用方法通过vivado 自带的时钟管理的ip core 进行pll 的使用打开clock wizard修改配置(1)修改输入的时钟的频率是200MHz(2) 修改其几路的输出的时钟的频率生成ip core 并编写顶层文件如下所示为顶层文件:`timescale 1ns / 1ps////////////////////////////////////////////////原创 2020-07-31 11:22:05 · 1407 阅读 · 1 评论 -
2、vivado下按键实验
目标通过点击按钮来控制开发板上的led 的灯的亮灭,具体来说,开发板共有四个led,同时也对应4个按键。初始化情况下,灯为亮的状态,当按下按键时候,对应灯熄灭。对应的电路图思路我们采用了两个D 触发器,通过两个上升沿,将按键的状态依次向后传出,u最后将按键的高低电平的状态进行向led 的状态进行的输出:代码verilog`timescale 1ns / 1ps///////////////////////////////////////////////////////////////原创 2020-07-31 10:16:31 · 2020 阅读 · 1 评论 -
vivado之floating的core 的使用方法
文章目录要解决的问题ipcore 的配置配置基本的功能配置输入的精度输出的精度接口选项要解决的问题我想要用float 模块实现对补码向浮点数的表示,但是这个生成ipcore 与ise 生成要复杂一些端口的使用也要复杂一些ipcore 的配置配置基本的功能配置输入的精度此处,需要注意,输入的位宽只能是16位,但是有可能你需要输入只有12位,所以,再实际代码使用的时候,我们需要额外增加4位使得其能够正常工作。输出的精度保持默认不变,单精度浮点型接口选项流控制,根据需要,我选择的是非阻原创 2020-07-27 22:29:34 · 766 阅读 · 0 评论 -
1、vivado 2017.4 流水灯仿真
文章目录verlog 代码编写仿真设定顶层文件编写仿真结果verlog 代码编写`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2020/07/25 00:03:39// Design Name: // Module Name: les_test/原创 2020-07-25 01:32:35 · 2408 阅读 · 0 评论