verilog语言简述
verilog语言简述
verilog是硬件描述语言,并不是单纯的“敲代码”。
C语言与Verilog的最大区别
- 互连:在硬件系统中,互连可以将实现模块间的连接,而C语言中并没有这样的变量。Verilog的wire型变量配合一些驱动结构能有效地描述出网线地互连
- 并发:C语言天生是串行的,不能描述硬件之间的并发特性,C语言编译后,其机器指令在CPU的高速缓冲队列中基本是顺序执行的;而Verilog可以有效地描述并行地硬件系统。
- 时间:运行C 程序时,没有一个严格的时间概念,程序运行时间的长短主要取决于处理器本身的性能;而Verilog 语言本身定义了绝对和相对的时间度量,在仿真时可以通过时间度量与周期关系描述信号之间的时间关系。
HDL语言的本质
Verilog 作为硬件描述语言,它的本质作用在于描述硬件。Verilog 虽然采用了C 语言的形式,但是它的最终描述结果是芯片内部的实际电路。所以评判一段HDL 代码优劣的最终标准是其描述并实现的硬件电路的性能(包括面积和速度两个方面 )。
使用HDL 语言可以从算法、系统级(System Level) 、功能模块级(Function Model Level) 、行为级(Behavior Level) 、寄存器传输级( RTL , Register Transfer Level) 、门级(Gate Level) 和开关级(Switch Level) 等不同层次描述数字电路系统,然后通过EDA 工具综合、仿真并实现该系统。可以说HDL 语言的出现是数字系统设计方法的一个重大飞跃。
Verliog语言不能仅仅在行为级上实现,也就是功能实现;写verilog必须考虑到实际的实现,也就是要在寄存器传输级去思考,这一级是是行为级的更低一级,需要考虑时延,芯片面积,功耗等方面问题,也就是脑子里要先有电路,再有verilog。也就是不仅仅在应用实现就行,需要更底层的思维。笔者在这方面也放过错误。
基于HDL的设计步骤
- 系统与功能模块定义(系统与功能模块描级)
- 行为级描述测试激励
- 寄存器传输级
- 对RTL级描述进行功能仿真
- 逻辑综合(使用RTL级EDA工具)
- 门级
- 综合后门级仿真
- 布局规划与布局布线
- 布局布线后的时序仿真与验证
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!