Verilog_学习路线(小白)

#前言:

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

#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)

免责声明:

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

相关推荐
DS小龙哥9 小时前
基于Zynq FPGA的雷龙SD NAND存储芯片性能测试
fpga开发·sd nand·雷龙·spi nand·spi nand flash·工业级tf卡·嵌入式tf卡
上理考研周导师19 小时前
第二章 虚拟仪器及其构成原理
fpga开发
FPGA技术实战20 小时前
《探索Zynq MPSoC》学习笔记(二)
fpga开发·mpsoc
bigbig猩猩1 天前
FPGA(现场可编程门阵列)的时序分析
fpga开发
Terasic友晶科技1 天前
第2篇 使用Intel FPGA Monitor Program创建基于ARM处理器的汇编或C语言工程<二>
fpga开发·汇编语言和c语言
码农阿豪2 天前
基于Zynq FPGA对雷龙SD NAND的测试
fpga开发·sd nand·spi nand·spi nand flash·工业级tf卡·嵌入式tf卡
江山如画,佳人北望2 天前
EDA技术简介
fpga开发
淘晶驰AK2 天前
电子设计竞赛准备经历分享
嵌入式硬件·fpga开发
最好有梦想~2 天前
FPGA时序分析和约束学习笔记(4、IO传输模型)
笔记·学习·fpga开发