FPGA学习篇——开篇之作

今天正式开始学FPGA啦,接下来将会编写FPGA学习篇来记录自己学习FPGA 的过程!

今天是大年初六,简单学一下FPGA的相关概念叭叭叭!

一:数字系统设计流程

一个数字系统的设计分为前端设计和后端设计。在我看来,前端偏软,编程为主,后端偏硬,就是要把硬件电路搭建出来。

二:什么是FPGA?

由上图,早期的数字集成电路是不可编程的器件,意思就是一个器件生产出来的功能就是确定的 ,比如一个流水灯,你就只能将这个器件作为流水灯使用,而不能作为时钟。为了使器件更加灵活,则创造出了PLD,这个数字集成电路就可通过编程来改变功能,即它可以作为流水灯也可以作为时钟,就看你的编程情况。

PLD常见的可编程器件有CPLD和FPGA。两者的区别是硬件电路结构的不同,在编程(即软件方面)是几乎一致的。所以FPGA可理解为可编程的用于数字系统设计的器件。

三:硬件描述语言(HDL)------Verilog语言

3.1 HDL:Hard Description Language。

硬件描述语言可理解为为了硬件设计专门开发的一种编程语言。

常见的两种硬件描述语言有Verilog和VHDL,前者多用于美国和中国,后者多使用于欧洲。

3.2 Verilog与C的区别(FPGA和单片机的区别)

单片机是用C语言进行编程,也是能设计出各种功能,其相当于一个万能"机器人",C语言编写是给这个"机器人"指令,"机器人"就会按照指令完成你想要的功能然后呈现出来。

而FPGA是一堆"零散的器件",使用Verilog编写程序相当于把这些"零散的器件"搭建起来(会生成电路)变成能够实现你功能的机器人,但可在拆开重新来搭建器件。

今天就在写到这啦,欢迎指正~

相关推荐
D.....l2 分钟前
STM32学习(MCU控制)(RS485 and ModBus)
stm32·单片机·学习
deng-c-f5 分钟前
Linux C/C++ 学习日记(42):dpdk(五):基于dpdk实现用户态的UDP收发数据、和TCP的三次握手及接收数据
学习·dpdk
恒者走天下9 分钟前
cpp / c++零基础就业学习一站式学习平台
开发语言·c++·学习
来来走走15 分钟前
kotlin学习 lambda编程
android·学习·kotlin
biubiubiu070624 分钟前
Ubuntu学习笔记
笔记·学习·ubuntu
卡奥斯开源社区官方27 分钟前
量子计算“平价革命”深度解析:AMD破局FPGA方案+中国千比特云服务,技术拐点已至?
fpga开发·量子计算
musenh1 小时前
javascript学习
开发语言·javascript·学习
凉、介1 小时前
ARM 总线技术 —— APB
arm开发·笔记·学习
Summer_Uncle1 小时前
【C++学习】对象特性--继承
开发语言·c++·学习
AI_56782 小时前
AI换脸技术安全指南:3条法律红线与合规实践
人工智能·学习·it