数字系统设计复习笔记:第十四篇
发表于|更新于|学习
|总字数:230|阅读时长:1分钟|浏览量:
前言
文章内容可能有较多错误,仅供参考
考完了。
整体来说不算非常难,但要好好想想。我花了2个小时做完试卷,剩下的半个小时又看了一遍,纠正了一些语法错误。概念考察很多,但是没有很冷门的地方。但还是有不确定的题目。
下面列一些考试中觉得很迷惑/比较难的题目。
判断
- Verilog向量最高位的下标一定比最低位下标大。
- Verilog向量最左侧为MSB。
- Verilog模块内每个变量都要独立声明。
简答
以下两端代码有区别吗?如果有,区别是什么?
1 | if (a > b) x = x + 1; |
代码题
三分频器(代码填空)
四位带同步复位端和进位输出的加减法计数器
文章作者: Esing
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Esing的小站!
相关推荐

2024-04-20
数字系统设计复习笔记:第十二篇
RISC-V 实在不知道该怎么考了。总不能让你现场设计一个出来吧。 概述 RISC即 精简指令集计算机(Reduced Instruction Set Computer) 的缩写。它是一种 20 世纪 80 年代才出现的 CPU。与传统的CISC CPU相比不仅只是简化了指令系统,而且还通过简化指令系统使计算机的结构更加简单合理,从而提高了运算速度。 RISC-V由加州大学伯克利分校2010年开发,作为开放的ISA,现由RISC-V基金会管理 (riscv.org)。 寄存器和存储器 寄存器的访问速度比内存快 对内存数据进行操作需要加载和存储 需要执行更多的指令 编译器必须尽可能多地使用寄存器中的变量 只有不常用的变量才会溢出到内存中。 寄存器优化很重要! RISC-V示例代码 实在不知道讲什么了。作业是把书上的范例代码进行修改。把代码放出来吧。 我肯定不会放在这里。代码已上传至GitHub。 话说网上好像有答案,但是里面也有错: 第?章 RISC-CPU 简介 注意点 clk_gen需要进行2、4分频,虽然用不到。题目中的clk1和clk是两个信号,所...

2024-04-19
数字系统设计复习笔记:第八篇
可综合的Verilog 可综合的HDL的语法只是它们自己语言的一个子集。为什么要这么做? 减少综合的次数或运行时间,最快得到良好的综合结果 采用比较简单的综合约束就可以得到时序和面积的要求 提高综合结果网表的性能,简化静态时序分析的过程 什么是逻辑综合? 逻辑综合是在标准单元库和特定的设计约束的基础上,把设计的高层次描述转换成优化的门级网表的过程。 标准单元库可以包含简单的单元,如:与非门、或非门、与门和或门等基本逻辑门,也可以包含宏单元,如加法器、多路选择器和触发器等。 综合的一般原则 综合之前一定要进行仿真,这是因为仿真会暴露逻辑错误,所以建议大家这样做。如果不做仿真,没有发现的逻辑错误会进入综合器,使综合的结果产生同样的逻辑错误。 每一次布局布线之后都要进行仿真,在器件编程或流片之前要做最后的仿真。 用 VerilogHDL 描述的异步状态机是不能综合的,因此应该避免用综合器来设计;如果一定要设计异步状态机,则可用电路图输入的方法来设计。 如果要为电平敏感的锁存器建模,使用连续赋值语句是最简单的方法。 语言指导原则 组合逻辑使用阻塞赋值语句描述 时序逻辑使用非...

2025-09-17
超大规模集成电路设计笔记:第二篇
浮点数 浮点数标准 IEEE标准754-1985定义了浮点数的存储格式、运算规则、舍入方式以及特殊值的处理(如无穷大、NaN等)。其核心思想是用科学计数法的形式来表示实数: R=(−1)s×M×2E=(−1)s×(1+F)×2E\begin{aligned} R &= (-1)^s \times M \times 2^E \\ &= (-1)^s \times (1+F) \times 2^E \end{aligned} R=(−1)s×M×2E=(−1)s×(1+F)×2E 其中: s为符号位; M为尾数,即有效数字部分,在1-2之间; F为小数部分,在0-1之间; E为指数,表示以 2 为底的幂次。 IEEE 754 定义了多种精度格式,最常用的是单精度浮点数与双精度浮点数: 单精度浮点数 总共 32 位(4 字节) 1 位符号位 8 位指数(偏移量为 127) 23 位尾数(实际精度为 24 位,因为有隐含的前导1) 双精度浮点数 总共 64 位(8 字节) 1 位符号位 11 位指数(偏移量为 1023) 52 位尾数(实际 53 位...

2024-04-18
数字系统设计复习笔记:第三篇
结构说明语句 always肯定必考,感觉task和function会二选一。 Verilog 语言中的任何过程模块都从属于以下 4 种结构的说明语句: initial 说明语句 always 说明语句 task 说明语句 function 说明语句 always always 语句在仿真过程中是不断活动着的。always语句后跟着的过程块是否执行,则要看它的触发条件是否满足,如满足则运行过程块一次;如不断满足,则不断地循环执行。 12always clk = ~clk; //将无限循环,周期为0,仿真时间无法推进always #5 clk = ~clk; //周期为10的时钟信号 沿触发的always块常描述时序行为,如有限状态机。可将其转换为表示寄存器组和门级组合逻辑的结构,而该结构应具有时序所要求的行为。 电平触发的 always 块常用来描述组合逻辑的行为。可将其转换为表示组合逻辑的门级逻辑结构或带锁存器的组合逻辑结构,而该结构应具有所要求的行为。 一个模块中可以有多个always块,它们都是并行运行的,并没有前后之分。 wait 和always @(......

2024-04-19
数字系统设计复习笔记:第六篇
逻辑模块 感觉超前进位加法器和乘法器是难点。不知道考试会怎么考。还是需要理解才行。 全加器 数据流描述 123456789101112module full_adder (a, b, cin, sum, cout); //list all inputs and outputs input a, b, cin; output sum, cout; //define wires wire a, b, cin; wire sum, cout; //continuous assign assign sum = (a ^ b) ^ cin; assign cout = (a&cin)|(b&cin)|(a&b); //assign cout = cin & (a ^ b) | (a & b);endmodule 行为级描述 123456module add_4(A, B, sum, C); input [3 : 0] A, B; output [3 : 0] sum; o...

2024-04-25
数字系统设计复习笔记:第十三篇
前言 我一向是很讨厌形而上学的东西的。奈何考试确实会考概念,故整理一些可能考的简答题。 1-5 简述什么是硬件描述语言? 它的主要作用是什么? 答案硬件描述语言是一种专门用来描述电子电路的功能和行为的编程语言,它可以让工程师在不同的抽象层次上设计复杂的数字逻辑电路,如寄存器传输级(RTL)、行为级和逻辑门级等。 为什么说用硬件描述语言设计的数字逻辑系统具有最大的灵活性并可以映射到任何工艺的电路上? 答案因为硬件描述语言设计的数字逻辑系统主要是在RTL级和行为级,不涉及具体的门电路,因此不依赖工艺,且便于移植。 为什么并发性是 HDL 中的一个重要概念? 并发是 HDL 的一个特点,无法用原理图来建模。 并发允许进行自动综合。 并发允许逻辑仿真器显示有用的系统信息。 并发是对并行运行的真实系统进行建模的必要条件。 答案4 仿真是什么? 为什么要进行仿真?仿真可以在几个层面上进行? 每个层面的仿真有什么意义? 答案仿真是对电路模块进行动态的全面测试。 通过观测被测试模块的输出信号是否符合要求可以调试和验证逻辑系统的设计和结构准确与否,并发现问题及时修改。 仿真分为:前仿真,...
评论
公告
将音乐解析 API 修改为自建版!
迁移到最新的Hexo 与 Butterfly!
添加了黑幕样式以优化文章内容!
Cloudflare 节点信息
访问 IP :
—
访问地区 :
—
CDN 节点 :
—
TLS 协议 :
—
WARP :
—
节点信息需要 JavaScript 才能加载



![[星港游记] 残月、火星与木星](https://webpn.esing.dev/img/starport.webp)