04|硬件语言筑基(二): 代码是怎么生成具体电路的?
LMOS
你好,我是 LMOS。
上节课,我们学习了硬件描述语言 Verilog 的基础知识。今天我会带你一起用 Verilog 设计一个简单的电路模块。通过这节课,你不但能复习巩固上节课学到的硬件语言知识,还能在动手实践中体会代码是怎么生成具体电路的。
Verilog 代码编写
如果你学过计算机组成原理的课程或图书,应该对 ALU 并不陌生。算术逻辑单元(Arithmetic&logical Unit,ALU)是 CPU 的执行单元,是所有中央处理器的核心组成部分。
利用 Verilog,我们可以设计一个包含加、减、与、或、非等功能的简单 ALU 模块,代码如下:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Verilog是一种硬件描述语言,用于设计电路模块。本文通过一个ALU模块的Verilog代码示例,介绍了如何设计包含加、减、与、或、非等功能的电路。文章详细解释了代码中的各部分功能和实现原理,以及阻塞赋值和非阻塞赋值的区别。通过这个例子,读者可以了解Verilog代码是如何生成具体电路的,以及如何利用Verilog进行硬件设计和实现。文章还提到了时序逻辑和组合逻辑的区别,以及并行执行的概念。此外,文章还介绍了仿真验证代码的方法,包括使用Iverilog和GTKWave进行仿真。另外,文章还介绍了逻辑综合的概念,以及如何使用Yosys进行逻辑综合。总的来说,本文对于想要了解Verilog硬件描述语言以及电路设计的读者来说是一篇很有价值的技术文章。文章内容涵盖了Verilog代码设计、仿真验证以及逻辑综合等方面,为读者提供了全面的学习指导和实践方法。同时,还提供了扩展阅读和思考题,引导读者深入学习和思考,使得本文具有很高的实用性和参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《计算机基础实战课》,新⼈⾸单¥68
《计算机基础实战课》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(37)
- 最新
- 精选
- 揭晓林置顶老师和同学们好,我也写了下如何运行本次课程里的代码(类似实验手册):在Gitee上,欢迎各位PR https://gitee.com/peterjxl/geek-time-computer-foundation-peterjxl 也感谢Bryan同学的开源
作者回复: 66666
2022-10-18归属地:湖北2 - 听水的湖置顶我是这门课的编辑小新,又见面啦。 感觉没接触过硬件语言的小伙伴对第三、四节课有畏难情绪,并且急于知道这两节课对后续学习的影响。这里统一说明一下: 👀两节课不太可能让你完全掌握verilog,如果之前没接触过硬件语言,一遍看下来有疑惑非常正常(大学学了verilog现在重看,卡壳也不奇怪)。 😑之所以咱们花两节课打这个基础,目的还是为实现riscv的处理器做铺垫,不然后面模块实现部分,代码大致思路都get不到就尴尬了。 👧所以建议根据自己情况量力而行,有能力就跟着课程写一写,至少risc-v指令集比x86简单嘛。 👉verilog我们主要是用在第三节课到第十一节课的处理器实现部分(手写miniCPU模块),不会verilog并不影响后面模块的学习。
编辑回复: 潜水的同学可以冒个泡,多交流有助于学习进步~
2022-08-08210 - Bryan置顶写了下在 Mac 下怎么编译运行整个代码 https://notes.singee.me/#/page/verilog%20%E7%94%9F%E6%88%90%E5%85%B7%E4%BD%93%E7%94%B5%E8%B7%AF
作者回复: 6666
2022-08-03归属地:湖北217 - Geek_21cfda华为移动端芯片设计是领先的,但要自主可控还要eda、光刻机等庞大的生态
作者回复: 什么 领先 买的arm的
2022-08-03归属地:湖北7 - 李钟伟如何理解“阻塞赋值”和“非阻塞赋值”
作者回复: 同步和异步
2022-08-03归属地:湖北6 - 伊宝峰Verilog设计逻辑电路是纯逻辑理论层面的,不需要太复杂的设备,相对容易做,但是做成实体CPU需要逻辑综合布线,需要生产,这两个有极高的难度,是我们目前没有掌握的。
作者回复: 还有很多设备我们也没有
2022-08-03归属地:湖北6 - 青玉白露感觉大家很吃力,做了一个关于Verilog的初学者笔记,里面包含在线学习网站https://zhuanlan.zhihu.com/p/550710744
编辑回复: 赞分享精神~
2022-08-064 - vampireverilog只能设计出微架构,而不能设计出isa,更不能培育出生态
作者回复: 培养生态 要用商业
2022-08-03归属地:湖北4 - 熊出没有设计,也需要有制造,制造工艺跟不上是一方面,再加上芯片设计的专利保护等,我们没有一完整的生态。
作者回复: 是的 这是实情
2022-08-06归属地:湖北3 - DustyBun感谢 lmos 把自己的知识与经验分享出来,为求知的人开了一盏明亮的灯。
作者回复: 一起 加油
2022-08-05归属地:湖北3
收起评论