快速入门数字芯片设计,UCSD ECE111(二)SystemVerilog(上)

简介: 快速入门数字芯片设计,UCSD ECE111(二)SystemVerilog

这篇文章带来ECE111第二节课的Slides以及自己的一些补充。

该课程的网站如下:


第一页slide给了一个加法器的例子。该例子加法的实现方式对于初学者来说可能难以理解,实际上这是超前进位加法器。对于单比特的加法而言,使用该加法器没有意义,但是对于较高比特的加法而言,该加法器会有明显的速度优势(如果比特数过高则消耗资源过多,不太划算)。超前进位加法器主要是针对普通全加器串联时互相进位产生的延迟进行了改良,这里不详细介绍。有兴趣的朋友可以去搜索相关的资料,该课程代码写成这样只是一个引子而已,此处可暂时不掌握。

然后介绍了一个四位的加法器,该加法器就是行波进位加法器。非常的好理解,跟我们人自己算加法是差不多的,从低位算到高位,中间可能会产生进位。这页slide的重点仍然是掌握如何例化子模块,这个图使用的隐式连接,也就是没有标注出来子模块的信号名,该方法是不推荐的。因为很有可能产生连接错误。有关显示连接和隐式连接的区别可以参考显示连接与隐式连接区别的13点。

然后介绍了一下从算法层面实现两个数的加法,非常的简单。直接A+B即可。其中的assign语句是连续赋值语句,可以理解成一根线,把等号左右两侧连接起来了。该slide表明,Verilog编译器会使用默认的逻辑实现算术运算符(e.g.行波进位加法器)。大家实际做项目的时候加法直接这么写即可,目前的编译器优化一个加法还是没有问题的。当然大家可以动手,从逻辑门层面去实现自己的加法器,造个小轮子可以更加深刻的领会数字电路的神奇所在。

然后介绍了一下Verilog/SV中的数字表示方法。形式为N'Bvalue。其中的N代表有多少比特,B代表多少进制,这种写法是较为推荐的。因为可以确定用了多少比特(如果不这么写只写个数字,默认是十进制,并且多少比特是不可控的!尽管多数编译器会视作32bit,但是仍然有可能导致意想不到的错误)。所以大家一律写成标准的形式即可。如3'd6代表十进制的6,用3个比特实现。即二进制的110。

然后讲解了一下位运算的拼接操作。使用大括号实现不同信号(比特)之间的拼接。如slide所示。下划线仅仅方便阅读,没有实际意义。

然后基于位操作和实例化,将两个4位的mux拼成了一个8位的mux。

接下来讲了更多的例子。这些操作符可以参考Verilog菜鸟教程

目录
相关文章
|
6月前
|
人工智能 移动开发 小程序
市面上的小程序平台对比
市面上的小程序平台对比
1267 138
|
C语言 芯片 SoC
快速入门数字芯片设计,UCSD ECE111(一)Introduction(下)
快速入门数字芯片设计,UCSD ECE111(一)Introduction(下)
266 1
|
C语言 索引
C语言编译环境中的 调试功能及常见错误提示
这篇文章介绍了C语言编译环境中的调试功能,包括快捷键操作、块操作、查找替换等,并详细分析了编译中常见的错误类型及其解决方法,同时提供了常见错误信息的索引供参考。
|
安全 虚拟化 异构计算
GPU安全容器面临的问题和挑战
本次分享由阿里云智能集团弹性计算高级技术专家李亮主讲,聚焦GPU安全容器面临的问题与挑战。内容分为五个部分:首先介绍GPU安全容器的背景及其优势;其次从安全、成本和性能三个维度探讨实践中遇到的问题及应对方案;最后分享GPU安全容器带状态迁移的技术路径与应用场景。在安全方面,重点解决GPU MMIO攻击问题;在成本上,优化虚拟化引入的内存开销;在性能上,提升P2P通信和GPU Direct的效率。带状态迁移则探讨了CRIU、Hibernate及VM迁移等技术的应用前景。
|
芯片 SoC
深入理解AMBA总线(零)绪论
深入理解AMBA总线(零)绪论
856 0
|
JavaScript 前端开发 开发者
深入浅出 Vue.js:构建响应式前端应用
Vue.js 是一个流行的前端框架,以其简洁、高效和易学著称。它采用响应式和组件化设计,简化了交互式用户界面的构建。本文详细介绍 Vue.js 的核心概念、基本用法及如何构建响应式前端应用,包括实例、模板、响应式数据和组件等关键要素,并介绍了项目结构、Vue CLI、路由管理和状态管理等内容,帮助开发者高效地开发现代化前端应用。
|
Ubuntu Linux 编译器
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
848 2
|
Shell 开发工具 芯片
快速入门数字芯片设计,UCSD ECE111(一)Introduction(上)
快速入门数字芯片设计,UCSD ECE111(一)Introduction
356 0
|
小程序 前端开发 Java
基于微信小程序+SSM+Vue+Node实现智慧旅游商城系统(一)
基于微信小程序+SSM+Vue+Node实现智慧旅游商城系统
331 0

热门文章

最新文章