FPGA
文章平均质量分 65
fpgaer0630
这个作者很懒,什么都没留下…
展开
-
TCP/IP(五):UDP 报文格式详解
1、概述UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。在UDP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使用IP层传送数据报。IP数据包的数据部分即为UDP数据报。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。UDP传输的段(segment..原创 2020-11-02 22:36:49 · 6183 阅读 · 2 评论 -
Xilinx Clocking Wizard IP核的动态配置
1、概述在 VIVADO 工具提供了关于时钟的 IP 核,其内部调用了 PLL 或 MMCM 原语,通过设置 IP 核配置界面的参数可以获得想要的频率时钟。本文以此展开,对如何根据输入时钟的改变动态配置输出时钟作出讲解,并举例进行详细阐述。2、使用场景说明例,一个频率为 450MHz 的差分时钟进入 FPGA 内部,经过 Clocking Wizard IP 核后,分别输出了 180MHz、50MHz、450MHz、90MHz 四个时钟。在此基础上,该输入时钟会在上位机的控制下变为 6...原创 2020-10-31 20:58:54 · 11613 阅读 · 4 评论 -
TCP/IP(四):ICMP 报文格式详解
1、概述ICMP(Internet Control Message Protocol),即 Internet 控制报文协议,属于网络层协议,位于 IP 报文的数据段。它是 TCP/IP 协议簇的一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。日常使用最多的 ping,就是 ICMP 请求(Type=8)和 ICMP 应答(Type=0),一台主机向一个节点发送一个 Type=8 的 ICMP 报文,如果途中没有异常(例如..原创 2020-10-24 21:19:55 · 5519 阅读 · 0 评论 -
TCP/IP(三):ARP报文格式详解
1、概述ARP,即地址解析协议(Address Resolution Protocol),是根据 IP 地址获取物理地址的一个 TCP/IP 协议,报文位于以太网帧的数据段内。网络设备给另一台设备发送数据时,需要知道对方的网络层地址(IP 地址),但是仅有 IP 地址是无法发送数据的,IP 报文需要封装为以太网帧才能通过数据链路层发送,而以太网帧需要知道对方的 MAC 地址,因此发送端需要知道目的 MAC 地址。ARP 命令可用于查询本机 ARP 缓存中 IP 地址和 MAC 地址的对应关系。2..原创 2020-10-23 21:27:28 · 2422 阅读 · 0 评论 -
TCP/IP(二):IP报文格式详解
1. IP 报文格式0bit是指位于最左边的最高位,31bit是指位于最右边的最低位,4个字节的32bit按照 bigendian(大端格式:低字节位于高地址)字节序传输:首先是0~7bit,其次 8~15bit,然后 16~23bit,最后是 24~32bit。TCP/IP 协议体系中所有数据报的首部中的二进制整数都要求按照这种大端形式的网络字节序进行传输。2. 字段说明版本:占4位,指 IP 协议的版本,目前广泛使用的 IP 协议版本号为 4。首部长度:占 4 位,由于首部长度应..原创 2020-10-19 22:52:31 · 1587 阅读 · 0 评论 -
TCP/IP(一):以太网帧协议
以太网帧说明以太网帧大小必须在64~1518字节(不包含前导码和定界符),即包括目的地址(6B)、源地址(6B)、类型(2B)、数据、FCS(4B)在内,其中数据段大小在46~1500字节之间。以太网帧结构以太网由前导码(7B)、定界符(1B)、目的地址(6B)、源地址(6B)、类型(2B)、数据、FCS(4B)。 字段 字段长度(字节) 说明 前导码(preamble) 7 ..原创 2020-10-18 21:49:40 · 1754 阅读 · 0 评论 -
VIVADO DDS IP核的使用
1.前言在前面的内容介绍了 ISE14.7 下 DDS IP 核的例化及使用方法,本文介绍如何使用 VIVADO 工具例化 DDS IP核,并在例化后给出简单的仿真测试,用于验证功能是否正常。2. IP 核例化在“Configuration”页面中,Configuration Options选项设置为 SIN COS LUT only;Parameter Selection 选项设置为 Hardware Parameters,Phase Width 和 Output Width 分别设置为...原创 2020-10-17 19:50:48 · 6343 阅读 · 2 评论 -
信道编码:编码FEC 前向纠错码
FEC:全称Forward Erro Correction,就是前向纠错码。一、重复码将同一数据重复多次发送,这就是重复码。接收端根据少数服从多数的原则进行译码。例如:发送端将0编码为000发送,如果接收到的是001、010、100,就判为0;发送端将1编码为111发送,如果接收到的是110、101、011,就判为1。重复码有一个很大的问题是:传输效率很低,传输效率只有1/3。二、分组码将k位信息比特分为一组,增加少量多余码元,共计n位,这就是分组码,一般记为(n,k)分组码。..原创 2020-08-29 18:21:17 · 10480 阅读 · 0 评论 -
ultrascale mig IP核的使用
1、MIG IP 核在 Xilinx 官方提供的 IP 核中提供了一个 MIG IP 核,它可以为 DDR3、DDR4 等多种存储器提供操作接口。本次使用该 IP 核例化一个 DDR3 控制器,但 ultrascale 系列的 FPGA 所对应的 MIG IP 核与 7 系列 FPGA 的 MIG IP 核有所区别,本文仅讨论 ultrascale 系列 FPGA 所对应的 MIG IP 核,并只针对 DDR3 进行说明。2、IP 核基本结构通过手册可以看出,该 IP 核的基本结构如下图所..原创 2020-08-29 14:13:35 · 1674 阅读 · 0 评论 -
PCIE系统标准体系结构解读(九):PCIe配置
1.12 PCIe配置1.12.1 配置概述系统首次启动时,配置软件还没有扫描过PCIe结构,因而不知道机器的拓扑结构。配置软件唯一知道的是在根联合体内存在着主机/PCI桥,总线0直连到该桥的下游。由于还没有扫描过总线0,因此系统不知道在根联合体上存在着多少个PCIe端口。扫描PCIe结构以找出其拓扑的进程称为枚举(enumeration)。1.12.2 每种功能实现一组配置寄存器当处理器执行软件命令时,根联合体会发起配置事务来读或写某种功能的配置寄存器。通过访问这些寄存器可以发现某种功能是原创 2020-06-26 23:10:25 · 7529 阅读 · 0 评论 -
PCIE系统标准体系结构解读(八):事务顺序和中断
1.9 事务顺序1.9.1 生产者/使用者模型生产者/使用者模型可能是两台有请求能力的设备用来相互通信的常用方法。1 一个网络适配器开始通过网络接收压缩的视频数据流,并执行一系列存储器写事务,将这些压缩的视频数据流存入存储器的数据缓冲区中。2 生产者将数据存入存储器之后,它就执行一次存储器写事务,在某一存储器单元中设置一个标志,表示数据已经准备好,等待处理。3 使用者定期对标志单元执行存储器读,以便查看是否有数据要处理。4 当发现生产者已设置标志时,它执行一个存储器写清除标志,然后执原创 2020-06-21 12:42:05 · 1345 阅读 · 0 评论 -
PCIE系统标准体系结构解读(七):QoS/TC和仲裁、流控制
1.7 QoS/TC和仲裁1.7.1 服务质量PCIe体系结构的若干特性提供了使QoS得以实现的机制。支持QoS的PCIe特性包括:流量类别(TC)虚拟信道(VC)端口仲裁虚拟信道仲裁链路流控制PCIe使用这些特性支持两种常见类型的事务:同步事务和异步事务,这些事务可以从QoS的PCIe实现中受益。1.8 流控制1.8.1 流控制的概念每一PCIe链路两...原创 2020-04-19 16:12:41 · 3704 阅读 · 1 评论 -
XILINX 7系列FPGA_Slice_存储器_XADC篇
转载说明作者公众号:FPGA训练营。文章转载自公众号:小白仓库。1.Slice结构简介Xilinx的官方文档在介绍FPGA的逻辑资源时通常是按照CLB(Configurable Logic Block)来介绍,把CLB作为FPGA里的最小逻辑单元。但是CLB是由2个slice构成,因此平时大家都把slice挂嘴边,称为最小的逻辑单元,很少提起CLB。因此本篇咱们就简要聊一聊s...转载 2020-04-12 09:15:55 · 1006 阅读 · 0 评论 -
PCIE系统标准体系结构解读(六):ACK/NAK 协议
主要解释如何使用ACK DLLP来确认TLP的接收,如何使用NAK DLLP表示接收的TLP有错误,以及重发TLP的规则。1.6.1 ACK/NAK协议的基本组成1.6.2 ACK/NAK协议中发送器的基本组成下图举例说明了与出站TLP和入站ACK/NAK DLLP的处理有关的发送器数据链路层基本组成。1.6.2.1 重放缓冲区重放缓冲...原创 2020-04-11 10:37:24 · 2319 阅读 · 1 评论 -
PCIE系统标准体系结构解读(五):数据链路层数据包
PCIe 数据链路层的主要功能时保证两台设备之间传送TLP的完整性。还负责链路的初始化和电源管理,包括跟踪链路状态以及上面的处理层和下面的物理层之间传递的消息和状况。在管理链路时,由3组重要的DLLP:TLP确认Ack/Nak DLLP;电源管理DLLP;流控制数据包DLLP。DLLP与TLP不同,没有携带目标信息,因为它们只用于相邻最近组件之间的通信。当DLLP从发送器发送至接收器时...原创 2020-04-02 19:56:28 · 1772 阅读 · 0 评论 -
PCIE系统标准体系结构解读(四):体系结构概述之处理层数据包
TLP 的结构通用 TLP 头的格式:下图展示了一个 3DW 头的格式内容。 头字段 头位置 字段用途 Lenth[9:0] 字节3的7:0 字节2的1:0 TLP 数据有效载荷的传送大小,以DW为单位,最大为 1024 DW。编码:00 0000 0001b...原创 2020-03-31 20:30:02 · 896 阅读 · 0 评论 -
PCIE系统标准体系结构解读(三):地址空间与事务路由
1.3 地址空间与事务路由1.3.1 两种类型的本地链路流量本地流量出现在一台设备的发送接口和其相邻设备的接收接口之间,目的是管理链路。这种流量从不会被转发或进行流控制;一旦发送,就必须接受。本地流量又可以仅有分为在两台设备物理层之间交换的有序集和在两台设备数据链路层之间交换的数据链路层数据包(DLLP)。有序集:有序集由发送器的物理层发送至相应接收器的物理层,用于发起链路定向、补偿时...原创 2020-03-29 18:02:00 · 1102 阅读 · 0 评论 -
PCIE系统标准体系结构解读(二):体系结构概述之PCIe 的设备层
1.2.1 概述 PCIe 规范定义了一种分层的设备设计体系结构。这些层分为处理层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer),在垂直方向上又可以进一步分成两部分:处理出站流量的发送部分和处理入站流量的接收部分。1.2.2 设备层及相关的数据包1.2.2.1 处理层事务包(TLP)TLP ...原创 2020-03-14 16:43:58 · 1745 阅读 · 0 评论 -
VIVADO HLS视频教程
VIVADO HLS教程:https://mp.weixin.qq.com/mp/homepage?__biz=MzIwNTY4NzM4OQ==&hid=1&sn=797d5e62e3fdb7ddd75f6793d9505bea&scene=18#wechat_redirect目前更新内容如下,VX扫码关注获取更多内容!...原创 2020-03-14 16:29:17 · 510 阅读 · 0 评论 -
PCIE系统标准体系结构解读(一):体系结构概述之PCIe 事务简介
事务定义为请求者和完成者之间完成一次信息传送需要完成的一系列或多个数据包传送的过程。PCIE 事务可以分为4大类:存储器事务、IO事务、配置事务、消息事务。这些事务可以分成非报告事务(non-posted transaction)和报告事务(posted transaction)。非报告事务:存储器读、存储器读锁定、IO读、IO写、配置读、配置写。报告事务:存储器写、消息。...原创 2020-03-08 15:41:44 · 1500 阅读 · 0 评论 -
六、基于Verilog的信号发生器DDS的设计
1、前言采用 Verilog 设计了一个简单的信号发生器,可输出正弦波、方波、三角波、锯齿波这 4 种频率、相位和幅值可调的波形。2、具体功能module dds( input wire clk, input wire rst_n, input wire [19:0] freq, input wire [1:0] wave_sel, ...原创 2018-08-26 13:29:44 · 23055 阅读 · 15 评论 -
FPGA中亚稳态的产生机理及其消除办法
亚稳态的概念亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态引时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。亚稳态产生原因在同步系统中,触发器的建立/保持时间不满足,就可能产生亚稳态。当信号在异...原创 2019-07-09 23:31:36 · 2371 阅读 · 0 评论 -
DDS设计的源码分享
最近有点忙,大家的留言没有及时回复,就大家最为关心的源码在此放出,在文末免费供大家下载。本次设计基于quartus13.1环境,由于设计中调用了 ROM IP核,推荐大家在此环境下打开工程。工程中的各种波形中,由于 FPGA 无法产生正弦波,因此使用 matlab 生成正弦波的 mif 文件用来对 FPGA 存放正弦波的 ROM 进行初始化,matlab源码也在下文中给出,并给出相应代码的...原创 2019-07-06 18:17:28 · 2257 阅读 · 1 评论 -
串口通讯协议的时序讲解
串口通讯(Serial Communication)是一种非常常用的串行通讯方式,无论是学习单片机还是 FPGA,都会从它开始入手。该协议采用异步通信的方式,在 FPGA 与其他设备如 ARM、DSP、PC间通信使用非常广泛。我们常说的UART、RS232、RS422、RS485都是采用了这种通讯协议,其接口时序都是一致的,只是具体的物理层的电平的不同。因此,无论是RS232协议,还是RS48...原创 2019-07-06 18:55:16 · 21802 阅读 · 3 评论 -
UDP千兆网之TCP/IP协议基础
一、TCP/IP协议简介TCP/IP四层模型分为应用层(Telnet、FTP、SMTP)、传输层(TCP、UDP)、网络层(IP、ARP、ICMP)、数据链路层(MAC、设备驱动)。数据链路层:又称链路层或网络接口层,是实际网络硬件的接口。包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。定义了如何使用具体网络(如ETH)来传输数据,定义了将数据组成正确帧的规范和在网络中传输帧的...原创 2019-07-21 08:41:06 · 1384 阅读 · 0 评论 -
四、基于Verilog的边沿检测设计
1、前言 边沿检测经常用于按键输入检测电路中,按键按下时输入信号 key 变为低电平,按键抬起变为高电平。当输入的信号为理想的高低电平时(不考虑毛刺和抖动),边沿检测就发挥了很重要的作用。由于输入的信号为一个连续值,我们需要通过时钟进行采样。根据采样定理,采样时钟的频率需要至少为被采信号频率的 2 倍。设计的边沿检测电路的功能为:检测到 1 个下降沿或上升沿时,对应的下降...原创 2018-08-10 10:22:41 · 6308 阅读 · 0 评论