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编写程序相当于把这些"零散的器件"搭建起来(会生成电路)变成能够实现你功能的机器人,但可在拆开重新来搭建器件。

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

相关推荐
GateWorld4 小时前
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析LLP (二)
fpga开发·mipi csi2
恰薯条的屑海鸥6 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习
喜欢吃燃面7 小时前
C++刷题:日期模拟(1)
c++·学习·算法
2301_797604248 小时前
学习记录:DAY32
学习
蓝婷儿8 小时前
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
开发语言·python·学习
叶子2024229 小时前
学习使用YOLO的predict函数使用
人工智能·学习·yolo
jackson凌9 小时前
【Java学习笔记】SringBuffer类(重点)
java·笔记·学习
黑客老李11 小时前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
海的诗篇_11 小时前
移除元素-JavaScript【算法学习day.04】
javascript·学习·算法
傍晚冰川12 小时前
FreeRTOS任务调度过程vTaskStartScheduler()&任务设计和划分
开发语言·笔记·stm32·单片机·嵌入式硬件·学习