# P1 课上测试游记 这次确实是差点翻车了,天知道为啥卡我半小时的竟然是第一题,后面两题加一起用的时间差点还没第一题多 通过阅读本文,您可以大致了解 2021 年秋季北航计算机组成课程 P1 课上测试的题目内容、难度和解题思路 P1 课上测试的主要内容是 Verilog 语言设计组合逻辑电路和有限状态自动机 题目每年都会发生变化,题意描述大致清晰,但是可能与原题有一定差异 本次课上确实挺危险,因为第一题不知为啥卡了将近 40min,还好状态机写的比较快,最后 1.5h 解决战斗,下面是回顾的题目大意 # T1 奇偶校验 输入一个 32...

# P1 课下学习 UPD: 2021/10/23 # 字符串自动机的简单做法 今天参考 roife.github.io 上的做法,学习了 Verilog 字符串自动机的一点骚操作 对于后缀自动机,我们可以不去做状态转移,而是考虑建立一个字符缓冲区 reg [127:0] buffer ,每次读到的字符都存到缓冲区中,然后去时刻检查缓冲区的字符串后缀是否符合题意,这样复杂的状态机问题就被简化成了简单的字符串匹配问题了(之前的感觉都白学了...) 但是这个方法好像不是万能的,目前来看只能匹配定长的、不连续的字符串,下举两例说明: 比如 [a-zA-Z]+[0-9]+...

# P0 课上测试游记 P0 课上体验比 Pre 课上好多了,希望 P1 顺利...... 通过阅读本文,您可以大致了解 2021 年秋季北航计算机组成课程 P0 课上测试的题目内容、难度和解题思路 P0 课上测试的主要内容是利用 Logisim 软件设计组合逻辑电路和有限状态自动机 题目每年都会发生变化,题意描述大致清晰,但是可能与原题有一定差异 P0 题面还是挺有创意的,跟往年的 2 组合 + 1 时序不太一样,今年是 1 组合 + 2 时序 + 1Debug 题,题目除了 T3 都很传统,1.3h...

# Pre 课上测试游记 通过阅读本文,您可以大致了解 2021 年秋季北航计算机组成课程 Pre 课上测试的题目内容、难度 Pre 课上测试的主要内容是 Logisim、Verilog 和 MIPS 汇编,按照 2021 年秋季的课程要求,Pre 课上考试不计入最终成绩,不影响 P0 题目每年都会发生变化,笔者在 Pre 考试中没有刻意记忆题意,因此随便看看就好 读题一定要仔细 首先是吐槽:北区机房的电脑屏幕太暗,键盘的手感太差 然后是表扬:助教很负责(但是我根本没做完,所以也没有问答环节),电脑带的环境很多(我甚至找到了...

# Logisim 复习 # 常见元件和门级电路 # Splitter(分路器) 对于 0x13 来说,化为二进制数字是(10011)2(10011)_2(10011)2​,这时分路器虽然显示的是 0-2 和 3-4 ,但是实际的显示顺序是从高位到低位,即 2-0 和 4-3 ,这和 Verilog 中的 wire[4:0] 的方向是一致的 分路器的位数就是字面位数,第 0 位是最右边,第 n 位是最左边(最高位) 分路器可以调节多种外观,而且未必需要用到所有位的数据,因此对于 [31:0] 的数据,如果我们想要 [21:15] 和 [21:11] 这时可以开两个分路器,每个分路器的 Fan...

# Verilog 复习 # 基础语法部分 # 关于 begin 和 end 不要 C/Python 写多了,就忘了 Verilog 是用 begin 和 end 标记语句块 还有 case 语句没有 begin ,只有 endcase ; module 定义没有 begin ,只有 endmodule # 关于 assign 和 always @(*) 没啥区别 # 关于赋值 如果是如下定义的寄存器型变量 reg [6:4] a;reg [0:2] b;那么这样的赋值是合法的 assign a[6:4] = b[0:2];但是这样赋值就会错 assign a[6:4] =...

# 谈一谈 MIPS 汇编 Challenge 题:找哈密顿回路 阅读本文时,我们假定读者对 MIPS 汇编指令、伪指令有一定了解,知道内存的寻址方式,并且能够编写 50 行以内的汇编程序 # 题目大意 输入一个具有nnn 个顶点的无向图GGG ,判断GGG...

# Verilog 学习笔记 - 练习题总结(Part 2) # 有限状态机 (FSM) 用三组例题进行讲解 # 题组一:Lemmings 游戏 # 题目来源:hdlbits, exams/ece241_2013_q4 # Easy: Lemmings 1 The game Lemmings involves critters with fairly simple brains. So simple that we are going to model it using a finite state machine. In the Lemmings' 2D world,...

# Verilog 学习笔记 - 练习题总结(Part 1) # 组合逻辑电路部分 # 时序逻辑电路部分 # 触发器 / 寄存器 # Edgedetect Detect an edge, 来源:hdlbits, exams/ece241_2013_q7 For each bit in an 8-bit vector, detect when the input signal changes from 0 in one clock cycle to 1 the next (similar to positive edge detection). The output bit should be...

# 关于 CPU 输出序列检查题的调试建议 CPU 输出序列检查题本身的思路不是很难,实现时却总是会因为一些细节问题导致出现各种问题,笔者昨天晚上在和室友一起调试时对此深有体会,因此在这里总结了几点调试的建议和方法与大家分享,同时也欢迎大家分享自己更好的调试方法 # 对拍程序 这一点要求你或者你的朋友需要已经写出一份 AC 的代码 对拍,顾名思义,就是将两个程序给相同的输入,看看输出是否一样。 既然如此,我们就需要几个步骤来实现它: 生成测试数据; 两个程序分别跑一遍,生成两个输出; 比较两个输出。 下面我来介绍一下以本题为例,如何进行对拍(本文示例的是在 Windows...