2023 BUAA CO review: P2
MIPS汇编 一些常用宏 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960# 程序结束.macro end li $v0, 10 syscall.end_macro#--------------------------# 输入Integer.macro readInt(%d) li $v0, 5 syscall move %d, $v0.end_macro#--------------------------# 输出Interger.macro printInt(%d) li $v0, 1 move $a0, %d syscall.end_macro#--------------------------# 输出字符串(包括换行和空格)# 值得一提的是,最好只使用".asciiz&...
2023 BUAA CO review: P1
课下提交 Q1 P1_L0_splitter 题目要求思路实现使用 Verilog\mathcal{Verilog}Verilog 搭建一个32位 Splitter\bf{Splitter}Splitter , 给定一个32位的二进制数作为输入,将其划分为四个8位的二进制数作为输出。 模块名:splitter 信号名 方向 描述 A[31:0] I 输入的二进制数 O1[7:0] O A的[31:24]位 O2[7:0] O A的[23:16]位 O3[7:0] O A的[15:8]位 O4[7:0] O A的[7:0]位 没什么好说的,直接assign即可123456789101112131415`timescale 1ns / 1psmodule splitter( input [31:0] A, output [7:0] O1, output [7:0] O2, output [7:0] O3, output [7:0] O4 ); assign O1 = A[31:24]; assign O...
2023 BUAA CO review: P0
课下提交 Q1 P0_L0_CRC(题目编号1119-13) 提交要求思路实现使用Logisim搭建一个除数为四位,原数据帧为8位的CRC校验码计算电路。具体模块端口定义如下: 信号名 方向 描述 A[7:0] I 8位原数据帧 B[3:0] I 4位除数 C[10:0] O 8位原数据帧 + 3位校验码 文件内模块名:CRC 规定除数的最高位一定为1,不必考虑非1的情况 关于CRC校验码,可以看看这位大佬的总结 由题意,需要进行8次四位模二除法,每次将上一次的余数输出, 拼接一位被除数作为下一次四位模二除法的被除数输入 对于四位模二除法,若被除数最高位为1,则商为1,余数为被除数与除数异或 若最高位为0,则商为0,余数直接等于被除数 Q2 P0_L0_GRF(1119-269) 提交要求思路实现使用logisim搭建一个GRF。GRF中包含32个32位寄存器,分别对应0~31号寄存器,其中0号寄存器读取的结果恒为0。具体模块端口定义如下: 信号名 方向 描述 clk I 时钟信号 reset I 复位信号,将32个寄存器...





