自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用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 821 1

原创 C++实现Huffman编码

一 问题描述二 算法基本思路三 算法复杂性分析四 C++代码五 运行结果截图一 问题描述用字符在文件中出现的频率表来建立一个用0,1串表示各字符的最优表示方式。给出现频率高的字符较短的编码,出现频率较低的字符以较长的编码,贪心算法使平均码长达到最小的前缀码编码方案。输入:字符集C和每一字符的频率。输出:每一字符的编码。二 算法基本思路编码字符集C中每一字符c的频率是f(c)。以f为键值的优先队列Q用在贪心选择时确定算法当前要合并的两棵具有最小频率的树。一旦两棵具有最小频率的树合并后,产生一.

2021-02-27 23:04:04 2151

原创 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 5581 1

原创 verilog设计8x8位ROM

一 设计思路二 verilog代码(一)程序代码变量说明(二)程序代码(三)时序模拟图一 设计思路采用组合逻辑电路,设计掩膜式只读存储器(Mask ROM)(在制造时写入内容,以后只能读,不能写入)。3位地址线([2:0] addr):可以实现8个存储单元(字)的寻址,8个地址及其存储的8位数据的真值表如下(下表中各地址存储的数据D是地址addr的2倍):addr2addr1addr0D7D6D5D4D3D2D1D00000000000.

2021-01-28 22:26:33 4579

原创 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 1650

原创 verilog实现16位硬件除法器(加减交替法定点补码一位除法)

一 设计思路(一)求商的符号:(二)求商的数值部分:(三)商的最后一位恒置1二 verilog代码(一)程序代码变量说明(二)程序代码结构说明1. 除法器2. 根据余数和除数的符号进行加法操作和商的操作3. 移位4. 截取最终的商和余数(三)程序代码(四)时序模拟图一 设计思路(一)求商的符号:若[X]补与[Y]补同号,[X]补 - [Y]补;若[X]补与[Y]补异号(即不够减),[X]补 + [Y]补。如果所得余数与除数同号,商上1;若余数与除数异号,商上0;商即结果的符号位。(二).

2021-01-28 21:28:41 4081 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 6928 3

使用Verilog设计一个冯诺依曼结构的CPU

使用Verilog设计一个冯诺依曼结构的CPU,实现以下4条指令: (1)addi: (rd) <- (rs) + imm (2)lw: (rd) <- memory((rs) + imm) (3)sw: memory((rd) + imm) <- (rs) (4)add: (rd) <- (rd) +(rs) CPU包含以下模块: (1)存储器Memory (2)时序信号产生模块CLOCK (3)取指令模块IFU (4)通用寄存器GR (5)ALU (6)控制器controller (7)CPU 实验报告包含设计思路描述、程序代码说明、模拟图及分析。

2021-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除