FPGA入门
电磁场与无线技术
哈尔滨工业大学在读
展开
-
FPGA工程师必备的技能(三):IP核被锁的解决办法
本文章是基于VIVADO 2018.3版本在实际开发之中,我们常常要接收其他人的工程文件,当别人的开发版本和我们不同的时候,工程文件中的IP核常常会被锁。解决办法是:找到reports-report IP status然后点击upgrade selected 完成ip核的解锁但是有时候我们会出现 NO ip specified 的报错这是因为在工程文件的保存路径中含有中文将路径改为全英文后就可以解决问题了!谢谢观看!...原创 2020-09-16 18:22:16 · 2332 阅读 · 1 评论 -
基于Xilinx artix 7的FPGA高级应用(四):RAM接口控制器系列 第二期 DDR SDRAM 原理篇
本系列基于Xilinx artix-7 xc7a35t 芯片和 vivado 2018.3看过很多FPGA工程师的招聘要求,大多包含有“了解DDR3”。所以这次分享一下DDR3的原理和代码(在下一期)。硬件的学习只能是慢慢积累,不能急于求成。FPGA片内存储资源是有限的,不能满足大容量的数据储存要求,这个时候我们就需要在FPGA的外部添加外部存储器,一般外部存储器分为SRAM和DRAM,我们在这里主要介绍DRAMDRAM,动态随机存取存储器。SDRAM则是同步动态随机存取存储器。这里我们解原创 2020-09-15 21:09:52 · 1606 阅读 · 4 评论 -
基于Xilinx artix 7的FPGA高级应用(四):RAM接口控制器系列 第一期 FIFO
本项目基于Xilinx artix-7 xc7a35t 芯片开发软件是VIVADO 2018.3RAM,即随机存储器,是计算设备中作为临时数据存储媒介的一种单元,它的特点是速度快,可按要求随意存入取出、掉电丢失。在各类逻辑系统中运用非常广泛。在FPGA高级应用四的这个标题下,我们将会从内部存储器到外部存储器,介绍FIFO、ram、ddr几种常用的存储器设计。第一期我们介绍FIFOFIFO,全称是first in first out (先入先出存储队列) 。在程序中FIFO作为数据的队列通道,原创 2020-09-14 20:10:27 · 622 阅读 · 0 评论 -
FPGA工程师必备的技能(二):打包和调用自己的IP核
小白阶段的FPGA开发者往往把自己的模块写完就丢,没有保存并且复用的习惯,随着FPGA的学习过程的展开,学会复用自己的设计,能够减轻工作,所以这是一个必备的技能。首先IP核其实就和单片机芯片的函数库一样,是已经封装好底层,具有一定功能的模块,XLINX公司在VIVADO中已经给我们提供了丰富的ip核,接下来我们说一下如何打包并且调用自己的IP核此文章基于xlinx artix7 xc7a35t 芯片以及vivado2018.3一、打包IP核:我们以一个74ls163为例,首先贴一下代码:接原创 2020-09-07 15:13:13 · 1555 阅读 · 2 评论 -
FPGA工程师必备的技能(一):毛刺的产生原因及其消除办法
最近做项目做得有点头晕,没学好的矩阵来报复我来了。之前有看过对于不同层次FPGA开发者的技术要求,于是决定新开一个系列从简单到困难逐个讲解FPGA工程师的必备技能。第一期:数字电路稳定性数字电路存在不稳定的原因,归根到底是“信号的传输速率是非理想的”这个原因造成的:因为温度、工艺、路径、逻辑门的各种影响,传输速率不是理想的,所以就会造成某些信号在我们想让他为高的时候它还是低,或者反之,进而就会影响数字电路的输出结果。我们把出现了信号到达端口的时间不一样这种状况成为“竞争”,把它产生的输出错误的现象叫原创 2020-09-07 01:22:32 · 10732 阅读 · 0 评论 -
基于Xilinx artix 7的FPGA高级应用(二):千兆以太网通信(实战篇) 第二期
本项目是基于Xlinx Artix7 XC7A35T芯片以太网芯片选用的是RTL8211EG PHY芯片 MAC 和PHY接口标准是GMII开发工具是vivado 2018.3本期讲解以太网的发送代码和顶层模块。原创 2020-09-02 02:21:18 · 1732 阅读 · 0 评论 -
基于Xilinx artix 7的FPGA高级应用(二):千兆以太网通信(原理篇)第二期补充
这几天在了解了更多以太网结构之后感觉自己之前写的文章根本没讲明白以太网,所以在这里再写一篇讲一下以太网的基本结构和通信过程,看官们可以配合之前写的那一期一同观看,这样就应该可以理解以太网的通信原理了。理解以太网的基本条件之一还是要理解OSI七层模型的基础知识。OSI七层模型给出了从最基本的比特流到用户以及不同系统间通信的层层递进的通信协议。我们用FPGA实现以太网通信主要是对物理层到传输层进行数据操作。物理层解决了发送比特流这一功能,其中有几个比较重要的点有:接口类型、传输速度、电平标准等等。完成原创 2020-08-31 02:08:24 · 1062 阅读 · 0 评论 -
基于Xilinx Artix7 的FPGA高级应用 (二):千兆以太网通信(实战篇)第一期
本项目是基于Xlinx Artix7 XC7A35T芯片以太网芯片选用的是RTL8211EG PHY芯片 MAC 和PHY接口标准是GMII开发工具是vivado 2018.3我们先来复习一下以太网的基本通信原理:当我们的计算机需要与局域网中另外的设备进行通信的时候,需要将数据传输到网卡进行编码,然后传输到线上,经过另一个设备的网卡解码成该设备能读取的数据。关于以太网协议的知识在原理篇中已经讲过,不再重复,下面直接看接收代码:首先注意我们的MAC和PHY通信选择的是GMII接口标准,发送数据一原创 2020-08-27 02:47:04 · 3236 阅读 · 0 评论 -
基于Xilinx Artix7的FPGA高级应用(三) USB转串口通信
本项目采用CP2102-GMR USB转串口芯片UART之间采用双全工通信方式,理想的UART只有三个引脚:我们知道CPU中的数据是并行的,所以在发送数据时,CPU将数据写入UART,然后UART以一定的格式将数据从TXD口串行输出;在接受数据时,RXD口串行接受数据然后存放在缓冲区内以供CPU读取。GND作为地为数据提供参考电位。UART采用标准TTL/CMOS标准,但是为了提高抗干扰能力以及数据的长度,我们通常把它转换到RS-232逻辑标准(3到12V表示0,-3到 -12V表示1)数据线以b原创 2020-08-25 11:48:17 · 1594 阅读 · 0 评论 -
基于Xilinx artix 7的FPGA高级应用(二):千兆以太网通信(原理篇)
本项目是基于Xlinx Artix7 XC7A35T芯片以太网芯片选用的是RTL8211EG PHY芯片 MAC 和PHY接口标准是GMII开发工具是vivado 2018.3FPGA高级应用(二) 千兆以太网通信Ethernet(以太网)是现存三种比较成熟的局域网技术中发展前景最的一个,现已成为主流的局域网技术。我们知道计算机中的数据是并行的,那么当一台计算机需要通过局域网和其他设备进行通信的时候,我们就需要网卡来完成数据的1.串并转换2.打包和拆解3.网络存取的控制4.网络信号和缓存发送信原创 2020-08-23 18:19:44 · 2486 阅读 · 0 评论 -
基于Xilinx artix 7的FPGA高级应用(一):VGA图像显示(实战篇)
本项目采用的FPGA芯片是Xlinx 公司 的 artix7 xc7a35t ,开发软件是Vivado 2018.3FPGA高级应用(一) VGA图像显示VGA图像显示的程序有着C语言设计中“单输出/入,多入口”的特点,话不多说,我们先来看module的输入输出变量可以看到,除了三基色和扫描信号外,我们还引入了时钟、复位以及一个按键备用。在原理篇中,我们讲到了根据扫描频率的不同,VGA是有固定标准的,如下图:由于板载的时钟频率是50Mhz,所以我们选择比较相近的65.0Mhz时钟,1024*7原创 2020-08-20 02:01:56 · 3802 阅读 · 1 评论 -
基于Xilinx artix 7的FPGA高级应用(一):VGA图像显示(原理篇)
许久没有更新文章,最近天气太热了都无心写代码了有些烦。FPGA基础教学过段时间我会继续写,今天另开一坑:FPGA的高级应用,给大家讲讲串口配置、通信协议、CPU设计这方面的FPGA应用场景,代码完全开源且已经上机实验可以使用,请大家放心观看。...原创 2020-08-19 20:03:02 · 1220 阅读 · 0 评论 -
基于Xilinx Artix-7 xc7a35t 的数字电子设计实战课程(四)
基于Xlinx7 xc7a35t 的FPGA开发日记(四)没想到在短短几天之内我的博客访问量就近千了,感谢大家的支持。接下来我会将更多的经验和技术分享给大家。但其实我也是入门级选手,所以如果有错误请大家不吝赐教,谢谢!我们来进行实战开发前的最后一课:Verilog硬件语言的学习。这节课先将一些基础知识和数据类型,下节课会将运算符和赋值语句。Verilog HDL 语言是目前最流行的两种硬件语言之一,因为设计这门语言很大程度上参考了C语言的思路,所以之前学习过C语言的同学可以轻松掌握这门语言。首先原创 2020-08-09 12:21:10 · 1085 阅读 · 0 评论 -
基于Xilinx Artix-7 xc7a35t 的数字电子设计实战课程(三)
基于xlinx7 xc7a35t的FPGA开发日记(三)从今天开始我们来共同学习FPGA的架构。FPGA的全称是“现场可编程门阵列”,是一种半定制电路。厂商为用户提供了足够多的可编程的组合逻辑设计和时序逻辑设计空间。我们选择的是FPGA技术发明人创立的Xlinx公司生产的Artix7家族性能中等的xc7a35t芯片,但即使是较低性能的它也拥有多达数以万计的单位。如图所示,Xlinx采用的架构有三个组成部分,CLB,IOB和wire。其中用户的操作主要就是对CLB进行操作从而实现逻辑功能。我们首先原创 2020-08-07 14:05:24 · 6793 阅读 · 0 评论 -
基于Xilinx Artix7 xc7a35t 的数字电子设计实战课程(二)
基于xlinx7 xc7a35t 的FPGA开发日记(二)本人是来自哈尔滨工业大学(威海)的一名电磁场与无线技术专业在读学生。本着分享交流的目的面向非EE类专业和初学者做了这个教程。如果有错误,欢迎在评论区赐教!我们这次来讲讲时序电路设计的基本步骤,完成这节之后我们就可以开始讲述FPGA的开发了,请各位看官耐心看完本节~时序电路简单来说就是组合逻辑电路加上存储电路,常见的时序电路的基本单位由触发器构成,触发器的特点有:1.大部分触发器都有时钟源 2.触发器的下一个时刻的输出与上一时刻有关。常见的时钟原创 2020-08-05 05:45:00 · 1341 阅读 · 4 评论 -
基于Xilinx Artix7 xc7a35t 的数字电子设计实战课程(一)
基于xlinx7 xc7a35t 的FPGA开发日记(一)本人是来自哈尔滨工业大学(威海)的一名电磁场与无线技术专业在读学生。本着分享交流的目的面向非EE类专业和初学者做了这个教程。如果有错误,欢迎在评论区赐教!最近发现有很多没有打好基础就在进行仿真设计的同学,私以为没有系统学习过基础知识的开发根本毫无意义,所以这系列文章将从数字电路设计的基础知识讲起,直到FPGA的应用,深入浅出地为大家提供一个硬件开发思路。这里为大家推荐的是清华大学的数字电子技术基础教材。数字电路设计的概念:数字电路设计可以分原创 2020-08-04 17:28:58 · 1968 阅读 · 0 评论