『FPGA通信接口』汇总目录

Welcome

大家好,欢迎来到瑾芳玉洁的博客!
😑励志开源分享诗和代码,三餐却无汤,顿顿都被噎。
😭有幸结识那个值得被认真、被珍惜、被捧在手掌心的女孩,不出意外被敷衍、被唾弃、被埋在了垃圾堆。
🙂喜欢舞文弄墨咬文嚼字的混沌世界,懵懂无知走上了工科直男01的不归路。
😎八十公斤的体重勉强与大鹏一日同风起的浮力动态平衡,做不到宠辱不惊无欲无求的匀速直线运动,就按部就班的小波浪式前进,螺旋式蠕动。
<🤵🤵🤵我是听过Qt、Matlab、Python,考过计算机网络、数据库、操作系统,浅尝过树莓派、STM32、MSP430,浅试过Linux移植的FPGA工程师!我就是我,一个没有颜色的错过的烟火,一个立志成为**CSDN TOP100**的黑铁FPGA选手!👌✌哦耶~~~

前言

成为一名高级的FPGA工程师需要具备广泛的知识面,且有一定的深度。从原理角度需熟悉数字电路原理、模拟电路,电路原理,了解FPGA内部结构;从开发语言角度需熟悉verilog、VHDL硬件描述语言,以及时兴的systemverilog,并掌握一些经典的示例;从开发工具的角度需熟悉vivado、Quartus II等FPGA开发环境,subline4、vs code等文本编辑器,modelsim、matlab等仿真工具;从接口的角度,熟悉常见的低速通信接口如UART、SPI、IIC等,熟悉常见的高速接口如USB3.0,千兆网口,DDR3等是必备素养。从进阶的角度,需学习时序约束的原理与如何让时序收敛的方法,需学习FPGA大型项目模块划分如何顶层设计。此外,最近几年又兴起的以Xilinx ZYNQ和ZYNQ Ultrasacle+系列为代表的异构处理芯片,集成了ARM与FPGA在一颗芯片上,与他相关的又涉及他的工具,开发流程等内容。我的计划是在博客中分享、记录在FPGA进阶路上的收获,以FPGA内容为主,而其他内容包括Qt,matlab、python,C/C++的内容都是以助力FPGA开发,提升学习办公效率为主要目的。FPGA内容大体包括以下方面:工具、语言、基础理论知识、内部结构知识、xilinx的官方资料解读、常见通信接口、高速通信接口等内容。进阶篇,讲述相对复杂的时序约束,工具使用的进阶,以及基于基础篇通信接口测试的实用的小项目。前路漫漫亦灿灿,往事堪堪亦澜澜,任重道远,行则将至!
本文作为FPGA通信接口专栏的第一篇文章,简要介绍该内容在整体架构中的位置,即数据在以FPGA为核心的系统中流通必经之路,是成为中级。介绍通信接口包含的内容主要分为以下几类。一是传统的串行通信接口如UART、IIC、SPI等,二是以太网通信接口包括了两种千兆网口的实现方式,万兆以太网的实现等,三是基于GTx的光口通信高速的serdes接口,四是图像采集显示相关的接口包括了RGB、DVP、LVDS,MIPI等,五是不管是消费领域还是工业场景常见的USB3.0接口。所有的项目提供经过验证之后的源码,为读者提供学习例程或者为大项目的开发提供“封装”好的接口驱动。尽可能做到过程详尽,实用于实战,并会写一些实战过程中解决问题的经验。

知识架构

在这里插入图片描述

开发环境

如无特殊说明,本系列文章开发环境配置如下:
OS: Windows10 64bit
开发环境:Vivado2020.2
芯片厂家:xilinx 7系列 KU系列
仿真工具:Vivado Simulator
开发语言:Verilog-HDL

系列文章目录

    🎈第一篇文章串行通信接口 UART
    简介:介绍常见的传统串行通信接口,UART通信协议内容,提供FPGA源码.
    🎈第二篇文章串行通信接口 SPI
    简介:介绍传统串行通信接口SPI协议内容,四种模式,代码设计,实战应用。提供FPGA源码工程.
    🎈第三篇文章串行通信接口 IIC(1)接口协议
    简介:介绍传统串行通信接口IIC协议内容,消息类型,接口时序,读写过程,并提供仿真分析及源码.
    🎈第四篇文章串行通信接口 IIC(2)EEPROM读写
    简介:以AC24C04为例,介绍使用IIC控制器读写EEPROM,提供仿真分析和工程源码

传送门

    USB3.0Cypress通信方案专栏
    FPGA开发工具专栏
    FPGA调试技巧专栏
    Qt实操入门篇专栏
    Qt实战提升篇专栏
    matlab助力FPGA开发
    python提高办公效率专栏

文章持续更新中--

💡 欢迎您关注我的CSDN博客:https://blog.csdn.net/weixin_40615338?type=blog
💡 本文由 瑾芳玉洁 原创👨‍🎓,相互学习,共同进步!
💡批评,宝贵建议,兼职合作,欢迎交流📧jackxi0207@gmail.com


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/557967.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux学习】Linux编辑器-vim使用

这里写目录标题 1. &#x1f320;vim的基本概念&#x1f320;2. vim的基本操作&#x1f320;3.vim异常处理&#x1f320;4. vim正常模式的相关命令&#x1f320;5. vim末&#xff08;底&#xff09;行模式相关命令 vi/vim都是多模式编辑器&#xff0c;不同的是vim是vi的升级版本…

开发与产品的战争之自动播放视频

开发与产品的战争之自动播放视频 起因 产品提了个需求&#xff0c;对于网站上的宣传视频&#xff0c;进入页面就自动播放。但是基于我对chromium内核的一些浅薄了解&#xff0c;我当时就给拒绝了: “浏览器不允许”。&#xff08;后续我们浏览器默认都是chromium内核的&#…

2024年华中杯数模竞赛A题完整解析(附代码)

2024年华中杯数模竞赛A题 基于动态优化的太阳能路灯光伏板朝向以最大化能量收集研究摘要问题重述问题分析模型假设符号说明 代码问题一 完整资料获取 基于动态优化的太阳能路灯光伏板朝向以最大化能量收集研究 摘要 随着可再生能源技术的发展&#xff0c;太阳能作为一种清洁的…

C++类与对象(中)②

目录 1.赋值运算符重载 1.1运算符重载 1.2赋值运算符重载 1.2.1赋值运算符重载格式 1.2.2赋值运算符只能重载成成员函数不能重载成全局函数 1.2.3同拷贝函数一样&#xff0c;如果类是形如日期类这样变量全是内置类型的&#xff0c;赋值运算符就必须自己实现&#xff0c;…

Spectre-v1 简介以及对应解决措施

文章目录 前言一、Variant 1: Exploiting Conditional Branches.二、 BACKGROUND2.1 Out-of-order Execution2.2 Speculative Execution2.3 Branch Prediction2.4 The Memory Hierarchy2.5 Microarchitectural Side-Channel Attacks2.6 Return-Oriented Programming 三、 ATTAC…

大学生简历大赛演讲稿(6篇)

大学生简历大赛演讲稿&#xff08;6篇&#xff09; 以下是六篇大学生简历大赛演讲稿的范文&#xff0c;供您参考&#xff1a; 范文一&#xff1a;展现真我&#xff0c;点亮未来 尊敬的评委、亲爱的同学们&#xff1a; 大家好&#xff01; 今天&#xff0c;我站在这里&#xf…

区块链实验室(35) - 编译solana for ARM64版

今天终于成功编译solana for arm64版&#xff0c;编译时间巨长。见下图所示。编译步骤详见solana网站https://github.com/solana-labs/solana和https://docs.solanalabs.com/。

【C语言】【数据结构】项目实践——贪吃蛇游戏(超详细)

前言 本篇博客我们来实现一个小游戏项目——贪吃蛇&#xff0c;相信肯定很多人都玩过&#xff0c;那么整个贪吃蛇是怎么实现出来的那&#xff0c;这个项目用到了很多方面的知识&#xff1a;C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。我们就通过这…

nodejs工具模块学习

util 是一个Node.js 核心模块&#xff0c;提供常用函数的集合&#xff1b; util.inspect(object,[showHidden],[depth],[colors]) 是一个将任意对象转换 为字符串的方法&#xff0c;通常用于调试和错误输出&#xff1b; 如果只有一个参数 object&#xff0c;是要转换的对象&…

网工内推 | 兴业银行总行正编,科技运维部,硕士以上学历

01 兴业银行 招聘岗位&#xff1a;安全渗透专家 职责描述&#xff1a; 1.负责牵头组织本行红蓝对抗、攻防演练等工作&#xff1b; 2.负责牵头制定有效的渗透测试方案&#xff0c;开展对本行防御体系的验证工作&#xff1b; 3.负责牵头组织本行各类应用系统的渗透测试与漏洞扫…

java的Spring XML和注解解析深入理解

正文 熟悉IOC体系结构 要学习Spring源码&#xff0c;我们首先得要找准入口&#xff0c;那这个入口怎么找呢&#xff1f;我们不妨先思考一下&#xff0c;在Spring项目启动时&#xff0c;Spring做了哪些事情。这里我以最原始的xml配置方式来分析&#xff0c;那么在项目启动时&a…

大型网站系统架构演化实例_5.使用反向代理和CDN加速网站响应

1.使用反向代理和CDN加速网站响应 随着网站业务不断发展&#xff0c;用户规模越来越大&#xff0c;由于区域的差别使得网络环境异常复杂&#xff0c;不同地区的用户访问网站时&#xff0c;速度差别也极大。有研究表明&#xff0c;网站访问延迟和用户流失率正相关&#xff0c;网…

二叉检索树(定义、意义、存储数据元素形式),二叉检索树插入方法的图解和实现

1、二叉检索树&#xff1a; &#xff08;1&#xff09;定义 二叉检索树的任意一个结点&#xff0c;设其值为k&#xff0c;则该节点左子树中任意一个结点的值都小于k&#xff1b;该节点右子树中任意一个节点的值都大于或等于k 这里的比较规则可以是针对数字的&#xff0c;也可…

js实现抽奖效果

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>随机抽奖</title> </head> <body>…

synchronized锁升级原理

锁升级过程 jdk1.6之后的优化 synchronized锁有四种状态&#xff0c;无锁&#xff0c;偏向锁&#xff0c;轻量级锁&#xff0c;重量级锁&#xff0c;这几个状态会随着竞争状态逐渐升级&#xff0c;锁可以升级但不能降级&#xff0c;但是偏向锁状态可以被重置为无锁状态。 1、偏…

C++ 类和对象(终篇)

初始化列表 就是给我们每一个成员变量找了一个定义的位置&#xff0c;不然像const这样的成员不好处理 所有的成员能在初始化列表初始化的都在里面初始化 拷贝构造函数和构造函数都允许初始化 构造函数体中的语句只能将其称作为赋初值&#xff0c;而不能称作初始化。 因为初始…

牛客NC314 体育课测验(一)【中等 图,BFS,拓扑排序 Java,Go、PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/1a16c1b2d2674e1fb62ce8439e867f33 核心 图&#xff0c;BFS,拓扑排序&#xff0c;队列参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修…

Scala 03 —— Scala Puzzle 拓展

Scala 03 —— Scala Puzzle 拓展 文章目录 Scala 03 —— Scala Puzzle 拓展一、占位符二、模式匹配的变量和常量模式三、继承 成员声明的位置结果初始化顺序分析BMember 类BConstructor 类 四、缺省初始值与重载五、Scala的集合操作和集合类型保持一致性第一部分代码解释第二…

浅浅了解一下 LibTorch

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ LibTorch 是 PyTorch 提供的一个二进制发行版&#xff0c;包含了所有必要的头文件、库和 CMake 配置文件&#xff0c;便于开发者依赖 PyTorch 开发应用。用户可以从 PyTorch 官网下载包含最新 LibTorch…

【科研】YOLOv8中anchor_points可视化(更新中)

目录 写在前面anchor-point可视化 写在前面 感叹一下&#xff1a;如果GPT能在我刚上大学的时候出来&#xff0c;也许我能学的比现在好太多&#xff0c;毕竟大学有一个比自己优秀太多的人引导着是多么地捷径。 anchor-point可视化
最新文章