Starry丶
FPGA从业人员,ICer
展开
-
标准总线接口协议
本专栏收录了FPGA&IC设计中常见的接口,以及相关的接口设计,正在更新。原创 2022-03-17 22:28:06 · 2614 阅读 · 0 评论 -
TCP/IP - IP
IP 网际互连协议(Internet Protocol)根据「IP地址」将数据传输到指定的目标主机,是一种 「不可靠」的 「端到端」的数据包 「传输服务」所有的 TCP、UDP 及 ICMP 帧都以 IP 数据报格式传输。IP 协议位于以太网 MAC 帧格式的数据段。原创 2024-09-18 19:50:52 · 659 阅读 · 0 评论 -
ICMP
回见对ICMP协议作介绍ICMP(Internet Control Message Protocol)Internet控制报文协议,是一种面向无连接的协议。功能是检错而不是纠错;它将出错的报文返回给发送方的设备,发送方根据ICMP报文确定「错误类型」,从而更好的重发错误的数据包。例如 IP 数据无法访问目标、IP 路由器无法按当前的传输速率转发数据包、路由器处理数据包产生错误等情况时,会自动发送 ICMP 消息。由于ICMP也是承载在IP之中的,所以将其放在传输层。原创 2024-09-16 10:45:02 · 701 阅读 · 0 评论 -
TCP/IP - TCP
回见对TCP/IP协议簇传输层作介绍。原创 2024-09-12 22:00:30 · 581 阅读 · 0 评论 -
AXI GPIO IP
本文简单介绍一下Xilinx AXI GPIO IP的使用。原创 2024-09-05 19:33:33 · 233 阅读 · 0 评论 -
TCP/IP 报文传输过程
原文回到强烈推荐下面博客,详细阐述了TCP/IP协议概念和传输过程。原创 2024-09-02 14:10:04 · 479 阅读 · 0 评论 -
PCIe - DMA Sequence
介绍PCIe拓扑结构下的DMA流程,实际上RC充当的就是DMA Controller的角色。原创 2024-08-25 14:38:09 · 206 阅读 · 0 评论 -
PCIe - Memory Mapped IO
Memorty Mapped的意思是将所有PCIe设备Memory Space、I/O Space和Configuration Space全部映射到Host内存中。BAR空间:各PCIe设备自身(应用层)的Memory Space和 IO Space则是通过BAR寄存器映射到Host内存中,大小取决于BAR。4KB配置空间:用于标识PCIe协议功能相关的寄存器,包括BDF、MPS、PM、MSI等功能。个Function,每个Function都有一个4KB的Configuration Space(原创 2024-08-03 16:37:20 · 221 阅读 · 0 评论 -
PCIe - MSI/MSI-X Capability Structures
原文地址。原创 2024-08-03 11:53:22 · 535 阅读 · 0 评论 -
高速外设互连接口(Peripheral Component Interconnect express, PCIe)- Device/Link Control Register
原文地址Capbility空间采用链表结构,每个能力寄存器存储着下一个能力寄存器的地址,第一个能力寄存器的地址为Header Space的0x34 Capbility Pointer。系统软件从头空间的Capbility Pointer寄存器开始,按着链表遍历,不断判断Capbility ID直到找到所需的寄存器。例如下图。原创 2024-07-31 20:38:59 · 152 阅读 · 0 评论 -
Ethernet
以太网(Ethernet)是指遵守 IEEE 802.3 标准组成的局域网通信标准, IEEE 802.3 标准规定的主要是OSI参考模型中的物理层(PHY)和数据链路层中的介质访问控制子层(MAC)。IEEE 还有其它局域网标准,如 IEEE 802.11 是无线局域网,俗称 Wi-Fi。IEEE802.15 是个人域网,即蓝牙技术,其中的 802.15.4 标准则是 ZigBee 技术。原创 2024-07-28 20:55:51 · 250 阅读 · 0 评论 -
TCP/IP
目录1.2. OSI(Open System Interconnect)网络与路由交换菜鸟FPGA以太网专题1.2. OSI(Open System Interconnect)原创 2024-07-23 21:00:33 · 328 阅读 · 0 评论 -
高清多媒体接口(High Definition Multimedia Interface, HDMI)
对HDMI接口作读书笔记,多数内容来自其他博客HDMI是一个可在单一接口结合无压缩高清视频,多声道环绕音频,和智能命令数据的数字接口。HDMI连接高清设备极为简单,同时对最新的产品功能提供一致和高性能效的传输。原创 2024-06-04 23:56:54 · 305 阅读 · 0 评论 -
PCIe - Configuration Space Header
原文地址。原创 2024-05-16 21:59:57 · 252 阅读 · 0 评论 -
高速外设互连接口(Peripheral Component Interconnect express, PCIe)- Layering
原文地址PCIe总线的分层结构如下,包括应用层(Device Core)、事务层(Transaction Layer)、数据链路层(Data Link Layer)、物理层(Physical Layer)。各层级的功能如下:● 应用层(Device Core):根据用户协议形成报文● 事务层(Transaction Layer):发端将应用层发来的报文头加上帧头Header、尾加上ECRC(End-to-end CRC),形成(Transaction Layer Packet,TLP)发送给链路层。原创 2024-05-16 21:58:18 · 296 阅读 · 0 评论 -
高速外设互连接口(Peripheral Component Interconnect express, PCIe)
目录1. Introduction2. Transaction Layer3. Data Link Layer4. Physical Layer1. Introduction2. Transaction Layer3. Data Link Layer4. Physical Layer原创 2024-04-28 19:46:54 · 647 阅读 · 0 评论 -
7 Series Devices Memory Interface Solution - Memory Controller Block
继续介绍Vivado的Memory Interface Generator(MIG)IP核中Memory Controller Block部分内容通过Native Interface接口将来自User Interface Block的请求存入一个逻辑队列中,这些请求可以重新排列以优化吞吐和延迟。再通过MC/PHY Interface接口与PHY层交互。该模块对应于源码的_mc.v。原创 2023-10-10 13:43:12 · 304 阅读 · 0 评论 -
7 Series Devices Memory Interface Solution
本文借助Xilinx Vivado 7系列FPGA的Memory Interface Generator(MIG)IP核,对DDR控制器进行介绍。原创 2023-09-12 16:49:20 · 1363 阅读 · 0 评论 -
8B/10B Transmission Code
介绍8B/10B编码的原理及相关数据流。原创 2023-09-05 17:12:48 · 473 阅读 · 0 评论 -
7 Series/UltraScale FPGAs GT Transceivers
本博客为Xilinx 7系列FPGA的千兆比特高速收发器(Gigabit Transceiver, GT)介绍。原创 2023-09-04 16:21:02 · 3562 阅读 · 2 评论 -
Aurora 8B/10B - Clock and Reset
此处沿用Duplex Normal Reset Sequences时序图,只不过gt_reset和reset一开始就都拉高,持续128 user_clk+1s后gt_reset拉低,之后reset再拉高0.1s再拉低。这里就有个问题,hard_err导致的自动复位和用户通过reset和gt_reset的手动复位是什么关系?芯片复位时gt_reset和reset均为高电平,之后一定是gt_reset先拉低,reset后拉低。如果工作中用户需要手动复位,则核和GT复位时序如下图所示。本节介绍上电和复位时序。原创 2023-09-01 11:11:07 · 479 阅读 · 0 评论 -
Aurora 8B/10B
本篇blog将介绍由xilinx开发的Aurora 8B/10B链路层协议,并介绍aurora ip使用。原创 2023-08-18 20:36:49 · 1824 阅读 · 0 评论 -
UART的RTL逻辑设计部分 - uart_tx
目录1. IDLE:等待并数据到来1.1. valid&ready 的Slave写握手1.2. 异步FIFO 的Master读握手2. TRANS:并串转换2.1. 打包tx_data_frm2.2. 并串转换2.3. 发送完毕标志3. 基于valid&ready握手 的UART_TX代码4. 基于异步FIFO 的UART_TX代码当UART完成了模块分解和输出之后,就可以开始设计逻辑了,设计好了再写代码!!!!还是先从外围模块开始,UART_TX模块的功能比较简单,将多bit数据按照原创 2022-05-03 17:08:20 · 1682 阅读 · 0 评论 -
AXI_Bus_Matrix_4x4 设计
Signal Source Width(bits) Description AWID Master AWID_WIDTH 写事务ID AWADDR Master原创 2022-06-15 23:37:33 · 3131 阅读 · 1 评论 -
通用同步异步收发器(Universal Synchronous/Asynchronous Receiver/Transmitter, USART)
目录1. 功能介绍1.1. 全双工 串行帧结构1.2. 异步波特率UART接受器与收发器的 异步2. 架构2.1. uart2.2. uart_rx2.3. uart_tx3. 逻辑设计3.1. uart_tx3.2. uart_rx3.3. uart3.4. uart_tb4. 测试4.1. uart_tx slave写握手 测试4.2. uart_tx 并串转换 测试4.3. uart_rx 串并转换 测试4.4. uart_rx slave读握手 测试5. 基于UART实现Master向Slave存储原创 2022-05-25 21:54:50 · 2385 阅读 · 0 评论 -
高级外围总线 5.0(Advanced Peripheral Bus, APB)
目录1. 介绍时序图例1.1. 特性2. 信号描述3. 状态机4. 传输4.1. 写传输4.2. 读传输主要是对APB总线进行介绍1. 介绍APB协议是一种低成本的接口,优化了功耗和接口复杂度。主要应用在低带宽、低速、低功率的外设,例如UART、I2C,可针对外围设备作功率消耗及复杂接口的最佳化。可在高级高性能总线(Advanced High-performance Bus, AHB)和低带宽的外围设备之间提供APB桥接器实现主从系统如下图所示也可将多个APB外设连接到高级可拓展接口(Ad原创 2022-03-18 10:50:42 · 3234 阅读 · 0 评论 -
AXI2Standard_handshake_bridge 设计
此处研究AXI到标准握手的桥接器,实现接口转化,例如下图是的,AHB2HANDSHAKE桥是作为AHB slave呈现的,由此可以得出桥接器的输入输出之后是参数描述原创 2022-06-15 23:34:34 · 1446 阅读 · 0 评论 -
AXI_Bus_Matrix_4x4 设计 - 逻辑设计部分
先想好再写代码解码器的思路很简单,将AXI信息交互分为读写两种。写控制AW通道依赖于AWADDR的高2bit,即AWSEL来片选Slave。写数据W通道其实也依赖于AWADDR的高2bit,因为只有这样才能把匹配的写控制和写数据正确的送入某个Slave。写反馈B通道同理。同理,读控制AR通道依赖于ARSEL,读反馈R通道也依赖于ARSEL。代码如下2. axi_round_robin_arbiter此处我们基于轮询的策略实现仲裁器经典的轮询仲裁IP输入只有req、输出只有grant,但对于AXI而言,是原创 2022-06-21 17:31:02 · 1651 阅读 · 0 评论 -
基于AHB_Bus_Matrix与AHB2APB Bridge 的多主多从 架构设计
这次基于AHB与APB的协议,设计一个片内各组件互联的架构原创 2022-05-31 23:16:02 · 3137 阅读 · 0 评论 -
集成电路总线(Inter-Integrated Circuit, I2C)
I2C介绍原创 2022-08-24 16:59:50 · 1599 阅读 · 0 评论 -
高级可拓展接口 4.0 - 流(Advanced eXtensible Interface 4 - Stream, AXI4-Stream)
AMBA中最重要的片内总线,适用于高性能、高带宽、高工作频率、低延迟系统,也是基于多主多从的架构与事务传输。AXI的特性包括:● 单通道体系,即控制通道与数据通道相互分离,可分别独立控制和优化。并且各通道传输方向单一,减少延迟。● 支持字节选通、非对齐数据访问● 只给出第一地址,亦可完成burst传输● 基于传输ID实现乱序传输● 允许电平同步。原创 2022-09-21 21:07:21 · 1086 阅读 · 0 评论 -
USART - Design Flow
目录1. baud_clk_gen1.1. 代码2. usart_tx3. usart_rx4. usart5. uart_tb逻辑设计部分可以参照uart进行设计,但是还是那句话——设计好再写代码!设计好再写代码!着急写代码是吧,着急写就白想活着!1. baud_clk_gen这个就单纯的根据波特率分频出一个sck时钟,不解释!1.1. 代码module baud_clk_gen#( parameter BAUD_RATE = 12500000, parameter PCLK_FREQ =原创 2022-05-25 23:22:20 · 702 阅读 · 0 评论 -
串行RapidIO(Serial RapidIO,SRIO):协议介绍
目录一、RapidIO背景介绍二、RapidIO协议概述2.1 包与控制符号2.2 包格式2.4 消息传递2.5 全局共享存储器2.6 流量控制2.7 串行物理层三、I/O逻辑操作与包格式四、维护操作与包格式五、消息操作与包格式六、总结本文是基于Xilinx平台SRIO介绍(一)RapidIO协议介绍的内容作读书笔记。一、RapidIO背景介绍RapidIO采用三层分级体系结构,包括逻辑层、传输层和物理层该分级结的如下图所示:● 逻辑层:位于最高层,定义全部协议和包的格式,它们为端点器件发起和完原创 2022-01-10 15:10:02 · 10576 阅读 · 1 评论 -
串行外设接口(Serial Peripheral Interface, SPI)
目录1. 功能介绍1.1. 全双工 串行 同步波特率1.2. 工作模式Master/Slave Select Register(MSTR)Clock Polarity(CPOL)与 Clock Phase(CPHA)2. 架构3. 逻辑设计4. 测试《SPI Block Guide V04.01, Motorola, Inc》《FPGA Verilog开发实战指南——基于Altera EP4CE10》1. 功能介绍串行外设接口(Serial Peripheral Interface, SPI)原创 2022-05-14 19:59:52 · 3516 阅读 · 2 评论 -
AHB2APB_bridge 设计
此处研究AHB Slave到 APB master的桥接器,实现接口转化,例如下图之后是参数描述原创 2022-06-10 23:34:51 · 1866 阅读 · 0 评论 -
高级高性能总线(Advanced High-performance Bus, AHB)
目录1. 介绍单一Manager例子2. 信号描述2.1. Manager2.2. Subordinate2.3. Interconnect针对AHB进行介绍1. 介绍主要针对高效率、高频宽及快速系统模块所设计的总线,可以连接如微处理器、芯片或芯片外的内存模块和直接存储器访问(Direct Memory Access, DMA)模块等。最常见的AHB从属设备包括内存设备、外部存储接口(External Memory Interfaces, EMIF)和高带宽外设。而对于低带宽外设来说,通常驻留在原创 2022-03-18 15:09:29 · 5658 阅读 · 2 评论 -
串行RapidIO(Serial RapidIO,SRIO):IP核基础知识
目录本文是基于Xilinx平台SRIO介绍(二)SRIO IP核基础知识的内容作读书笔记。原创 2022-01-21 14:59:27 · 5780 阅读 · 0 评论 -
串行外设接口(Serial Peripheral Interface, SPI)逻辑设计部分 - spi_master
目录1.baud_clk_gen2. spi_master3. spi_slave4. spi5. spi_tb1.baud_clk_gen2. spi_master3. spi_slave4. spi5. spi_tb原创 2022-05-16 22:49:52 · 1617 阅读 · 2 评论 -
串行RapidIO(Serial RapidIO,SRIO):简介及内容导航
目录一、SRIO扫盲篇——RapidIO协议介绍二、Xilinx平台SRIO - IP核基础知识三、SRIO时钟与复位四、SRIO IP核配置使用教程五、示例工程Example Design介绍六、SRIO收发测试针对SRIO进行介绍,可参考Xilinx的官方文档Xilinx Document Navigator pg007本文是在Xilinx平台SRIO介绍(汇总篇)的基础上作读书笔记。关于RapidIO - 知乎一、SRIO扫盲篇——RapidIO协议介绍对高速接口RapidIO的协议介绍原创 2021-12-22 15:36:36 · 3820 阅读 · 0 评论 -
UART的RTL逻辑设计部分 - uart_rx
目录1. IDLE:等待串数据到来2. REC:串并转换3. ARB:裁决校验位3.1. valid&ready 的Slave读握手3.2. 异步FIFO 的Master写握手3. 基于valid&ready握手 的UART_RX代码4. 基于异步FIFO 的UART_RX代码当UART完成了模块分解和输出之后,就可以开始设计逻辑了,设计好了再写代码!!!!接受模块的流程应该是这样的:先是空闲,然后rx出现低电平表示单bit数据来了,开始串转并,转好之后判断校验位,未通过直接丢掉,通过原创 2022-05-09 19:43:23 · 1868 阅读 · 0 评论