
计算机组成原理
文章平均质量分 80
truth秋沐苏
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用Verilog设计冯诺依曼结构CPU【代码】
一 冯诺依曼结构CPU图示二 代码实现的指令三 实验报告包含的内容设计思路描述1、CPU基本组成2、CPU的工作过程3、关键模块定义程序代码变量说明程序代码结构说明模拟图及分析一 冯诺依曼结构CPU图示二 代码实现的指令计算机数据总线和地址总线都是16位,指令系统包括4条指令:addi, lw, sw, add,addi: (rd) <- (rs) + imm从寄存器rs中读取数据,和立即数imm相加后,结果放到寄存器rd中。lw: (rd) <- memory((rs) + .原创 2021-03-14 20:05:25 · 1118 阅读 · 1 评论 -
verilog设计32位ALU
一 设计思路(一) 输入、输出(二)运算说明二 verilog代码(一)程序代码变量说明(二)程序代码(三)时序模拟图一 设计思路(一) 输入、输出三个输入:两个32位输入数X、Y及计算类型OP。两个输出:计算结果result及有无溢出overflow。计算类型代码(1)OP = 0有符号数相加,(2)OP = 1有符号数相减,(3)OP = 2无符号数相加,(4)OP = 3无符号数相减,(5)OP = 4逻辑左移(X左移Y位),(6)OP = 5逻辑右移(X右移Y位)。其中,.原创 2021-01-28 22:55:38 · 6067 阅读 · 1 评论 -
verilog设计8x8位ROM
一 设计思路二 verilog代码(一)程序代码变量说明(二)程序代码(三)时序模拟图一 设计思路采用组合逻辑电路,设计掩膜式只读存储器(Mask ROM)(在制造时写入内容,以后只能读,不能写入)。3位地址线([2:0] addr):可以实现8个存储单元(字)的寻址,8个地址及其存储的8位数据的真值表如下(下表中各地址存储的数据D是地址addr的2倍):addr2addr1addr0D7D6D5D4D3D2D1D00000000000.原创 2021-01-28 22:26:33 · 4881 阅读 · 0 评论 -
verilog设计8x8位RAM
一 设计思路二 verilog代码(一)程序代码变量说明(二)程序代码(三)时序模拟图一 设计思路采用时序逻辑电路,有3位地址线([2:0] addr),可以实现8个存储单元(字)的寻址。使能控制输入端CS:低电平有效,使能控制端为1时存储器处于禁止状态,输出为高阻态。写控制输入端W:低电平有效。8位数据输入端([7:0] data_in),8位数据输出端([7:0] data_out)。时钟(clk)上升沿到来:若写控制输入端(W)为低电平,则将输入的8 位数据([7:0] data_i.原创 2021-01-28 21:43:58 · 1859 阅读 · 0 评论 -
verilog实现16位硬件除法器(加减交替法定点补码一位除法)
一 设计思路(一)求商的符号:(二)求商的数值部分:(三)商的最后一位恒置1二 verilog代码(一)程序代码变量说明(二)程序代码结构说明1. 除法器2. 根据余数和除数的符号进行加法操作和商的操作3. 移位4. 截取最终的商和余数(三)程序代码(四)时序模拟图一 设计思路(一)求商的符号:若[X]补与[Y]补同号,[X]补 - [Y]补;若[X]补与[Y]补异号(即不够减),[X]补 + [Y]补。如果所得余数与除数同号,商上1;若余数与除数异号,商上0;商即结果的符号位。(二).原创 2021-01-28 21:28:41 · 4530 阅读 · 3 评论 -
verilog实现8位硬件乘法器(booth法补码一位乘法)
verilog实现8位硬件乘法器(booth法补码一位乘法)一 设计思路(一)输入、输出(二)booth法运算规则(三)步骤二 verilog代码(一)程序代码变量说明(二)程序代码结构说明1. 乘法器2. 根据附加位和乘数末位进行加法操作3. 移位4. 截取最后一步的部分积和乘数作为输出(三)程序代码(四)时序模拟图一 设计思路(一)输入、输出输入:两个用补码表示的二进制数(1位符号位+7位数值位)[X]补 = X0.X1X2…X7[Y]补 = Y0.Y1Y2…Y7其中,X0、Y0为符号位。原创 2021-01-28 21:01:44 · 8329 阅读 · 3 评论