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)

免责声明:

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

相关推荐
fei_sun15 小时前
【Verilog】第一章作业
fpga开发·verilog
深圳市雷龙发展有限公司longsto16 小时前
基于FPGA(现场可编程门阵列)的SD NAND图片显示系统是一个复杂的项目,它涉及硬件设计、FPGA编程、SD卡接口、NAND闪存控制以及图像显示等多个方面
fpga开发
9527华安21 小时前
FPGA实现PCIE3.0视频采集转10G万兆UDP网络输出,基于XDMA+GTH架构,提供工程源码和技术支持
网络·fpga开发·udp·音视频·xdma·pcie3.0·万兆网
able陈21 小时前
为什么verilog中递归函数需要定义为automatic?
fpga开发
fei_sun21 小时前
【Verilog】第二章作业
fpga开发·verilog
碎碎思1 天前
如何使用 Vivado 从源码构建 Infinite-ISP FPGA 项目
fpga开发·接口隔离原则
江山如画,佳人北望1 天前
fpga-状态机的设计及应用
fpga开发
晓晓暮雨潇潇1 天前
Xilinx IP核(3)XADC IP核
fpga开发·vivado·xadc·ip核
CWNULT1 天前
AMD(Xilinx) FPGA配置Flash大小选择
fpga开发
碎碎思2 天前
很能体现FPGA硬件思维的一道面试题
fpga开发