Verilog_学习路线(小白)

news/2024/9/23 5:45:05/

#前言:

自从专心学习专业课后,发现知识点得用,越用越熟练,工具也一样,高级工具的学习可帮助我们在工作中极大地提高效率,但这里要记住一点,任何工具都是为解决实际问题出现的,即落脚点为解决实际问题

#Verilog起源:

verilog最初就是因为电路设计需要进行仿真规避因设计错误造成的成本浪费(毕竟电子器件在当时成本昂贵),而仿真需要在计算机进行(实验条件),因此需要配套的程序语言作为内部仿真器的语言,用于逻辑建模和仿真验证。至此,开启了属于Verilog的时代。

发展历史

  • 1983 年,Verilog 最初由 Gateway Design Automation 公司(GDA)的 Phil Moorby 创建,作为内部仿真器的语言,主要用于逻辑建模和仿真验证,被广泛使用。
  • 1989 年,GDA 公司被 Cadence 公司收购,Verilog 语言成为 Cadence 公司的私有财产。
  • 1990 年,Cadence 公司成立 OVI(Open Verilog International)组织,公开 Verilog 语言,促进 Verilog 向公众领域发展。
  • 1992 年,OVI 决定致力于将 Verilog OVI 标准推广为 IEEE(The Institute of Electrical and Electronics Engineers)标准。
  • 1995 年,OVI 的努力获得成功,IEEE 制定了 Verilog HDL 的第一个国际标准,即 IEEE Std 1364-1995,也称之为 Verilog 1.0。
  • 2001 年,IEEE 发布 Verilog 第二个标准(Verilog 2.0),即 IEEE Std 1364-2001, 简称为 Verilog-2001 标准。由于 Cadence 在集成电路设计领域的影响力及 Verilog 语言的简洁易用性,Verilog 成为电路设计中最流行的硬件描述语言。

主要特性

下面是 Verilog 的主要特性:

  • 可采用 3 种不同的方式进行设计建模:①行为级描述——使用过程化结构建模②数据流描述——使用连续赋值语句建模③结构化方式——使用门和模块例化语句描述。
  • 两类数据类型:线网(wire)数据类型与寄存器(reg)数据类型,线网表示物理元件之间的连线,寄存器表示抽象的数据存储元件。
  • 能够描述层次设计,可使用模块实例化描述任何层次。
  • 用户定义原语(UDP)创建十分灵活。原语既可以是组合逻辑,也可以是时序逻辑。
  • 可提供显示语言结构指定设计中的指定端口到端口的时延,以及路径时延和时序检查。
  • Verilog 支持其他编程语言接口(PLI)进行进一步扩展。PLI 允许外部函数访问 Verilog 模块内部信息,为仿真提供了更加丰富的测试方法。
  • 同一语言可用于生成模拟激励和指定测试的约束条件。
  • 设计逻辑功能时,设计者可不用关心不影响逻辑功能的因素,例如工艺、温度等。
  • ……

主要应用

专用集成电路(ASIC),就是具有专门用途和特殊功能的独立集成电路器件。

Verilog 作为硬件描述语言,主要用来生成专用集成电路。

主要通过 3 个途径来完成:

1、可编程逻辑器件

FPGA 和 CPLD 是实现这一途径的主流器件。他们直接面向用户,具有极大的灵活性和通用性,实现快捷,测试方便,开发效率高而成本较低。

2、半定制或全定制 ASIC

通俗来讲,就是利用 Verilog 来设计具有某种特殊功能的专用芯片。根据基本单元工艺的差异,又可分为门阵列 ASIC,标准单元 ASIC,全定制 ASIC。

3、混合 ASIC

主要指既具有面向用户的 FPGA 可编程逻辑功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元模块,如CPU,RAM,锁相环,乘法器等。

DIY学习路线:

任何一门工具的学习包括Verilog,都是为了解决问题,所以你需要有应用思维。

如果你是在实际产品设计或课设过程中需要用到FPGA那没问题,我相信你能理解学习这门语言的用途,如果你只是单纯的发现有Verilog的存在,从来没接触过这方面比较好奇,我建议你先去了解硬件产品设计相关流程再定位他的用途。

以上只是个人观点,你不一定要采纳,说不定你的学习方法比我更优秀。

学习verilog的路线不仅要focus Verilog语言本身,更重要的是放眼于整个电子产品设计本身。产品的出现是为了解决问题,而人们每天都会有大大小小的问题。

#感悟

人生就是这样,生活就是这样,每个人都是问题的制造者,每个人也是问题的解决者,不断地发现问题,解决问题,优化,循环(PDCA)。而在Verilog学习过程中,他就是帮我解决电路设计的仿真问题,帮我一定程度上简化工作流程。那我学习他,就是有意义的。

人生,最宝贵的就是时间。你要相信自己的时间成本很昂贵。当我还是大学一二年级的时候,很多长辈会劝我不要去做兼职,因为那很浪费时间。但我还是去做了。不是因为执拗或反着来。是因为我并不了解那句话的含义,或者说,长辈们只是告诉我结论,而并没为我讲解这其中的错综复杂会怎样影响到我的人生。

就像父母总是告诉我们要好好学习,却从不肯告诉我们方法,于是我们就像在伸手不见五指的漆黑森林寻找着那最终的出口,跨越沼泽,穿过荆棘,最终还不一定能找得到。那些时刻至今是我们不能提及的过往。

如见大三接近尾声,我才稍稍意识到了学习一门工具的重要性,总之,当我觉得做什么事情已经晚了点时候,恰恰是我开始做一件事最好的时机。之前社会实践,见识了太多的牛鬼蛇神,哈哈哈。怎么说呢,打击挺大,但人只要活着就有希望,不是嘛?希望是自己给自己的,我们终其一生不过是与自己相处,认识最真实的自己罢了。that‘s kind of insteresting!

补充声明:

最后给大家推荐一些我目前在使用的学习地址(仅供参考)并请出我们的老演员免责声明。

学习地址:

1.B站:Rong晔的个人空间-Rong晔个人主页-哔哩哔哩视频 (bilibili.com)

最适合初学者的FPGA?ZUBoard保姆级教程+学习路线分享!_哔哩哔哩_bilibili

2.HDLBits:HDLBits (01xz.net)

3.菜鸟教程:1.1 Verilog 教程 | 菜鸟教程 (runoob.com)

免责声明:

本文内容部分均有我摘抄自网络,仅供各位参考不做任何商业及其他用途。倘若文章内容侵犯任何人的权益请及时告知我本人进行删除,谢谢配合。


http://www.ppmy.cn/news/1459546.html

相关文章

2024年第四届电子信息工程与计算机科学国际会议(EIECS 2024)

2024年第四届电子信息工程与计算机科学国际会议(EIECS 2024) 2024 4th International Conference on Electronic Information Engineering and Computer Science 中国延吉 | 2024年9月27-29日 投稿截止日期:2023年7月15日 收录检索:EI Compendex和Sc…

uniapp picker组件的样式更改

不知道有没有小伙伴遇到过这个问题 我是各种穿透和层级都尝试了更改不了其样式 梳理一下 H5端 在全局app.vue下添加如下代码 .uni-picker-container .uni-picker-header{ background-color: $uni-color-pink; //picker头部背景色}.uni-picker-container .…

Milvus Cloud 的RAG 的广泛应用及其独特优势

一个典型的 RAG 框架可以分为检索器(Retriever)和生成器(Generator)两块,检索过程包括为数据(如 Documents)做切分、嵌入向量(Embedding)、并构建索引(Chunks Vectors),再通过向量检索以召回相关结果,而生成过程则是利用基于检索结果(Context)增强的 Prompt 来激…

Unity 单例模式

Unity中单例模式是非常常用的写法,可以基于C#语言的几种不同方法来实现。 下面我将列出几种常见的实现方式: 1. 经典的单例模式 public class SingletonExample : MonoBehaviour {private static SingletonExample instance;public static SingletonEx…

Qt之摄像头操作

简单的摄像头测试类 头文件camerawidget.h #ifndef CAMERAWIDGET_H #define CAMERAWIDGET_H#include <QWidget> #include <QList> #include <QCamera> #include <QCameraInfo> #include <QCameraViewfinder> #include <QCameraImageCapture…

IOS离线打包uniapp的信息时报错如下的解决方法

IOS离线打包uniapp的信息时报错如下的解决方法 问题描述&#xff1a; Extract app intents metadata 0.1 seconds XExtractAppIntentsMetadata(in target HBuilder from project HBuilder-Hello)cd /Users/whb/space/vpt/vptios/HBuilder-Hello/Applications/Xcode.app/Conte…

2. Linux 基本指令(上)|ls|pwd|cd|tree|touch|mkdir|rmdir|rm

前言 计算机软硬件体系结构 层状结构应用软件Word&#xff0c;Matlab操作系统Windows&#xff0c;Linux设备驱动声卡驱动硬件CPU&#xff0c;内存&#xff0c;磁盘&#xff0c;显示器&#xff0c;键盘 操作系统概念 操作系统 是一款进行软硬件资源管理的软件 例子 比如在学…

ROS——Action学习

文章目录 ROS Action概念自定义Action类型参考ROS Action概念 ROS Service会阻塞程序流,程序无法进行其它的工作,有时我们需要同时进行多个任务。 ROS Action可以满足要求,ROS Action提供程序的非阻塞执行。 Action是ROS Node的通信方式之一 Action server 向ROS系统广…