
=>逻辑与计算机设计基础
数字电路,启蒙式课程
飞翔的哈士奇
帐号已弃更,转Github(DelinQu) — 2021.05
展开
-
模型机CPU设计——设计的整体架构(1)
一、设计目的完整、连贯地运用《数字逻辑》所学到的知识,熟练掌握 EDA 工具基本使用方法,为 学习好后续《计算机原理》课程做铺垫。二、设计内容① 按照给定的数据通路、数据格式和指令系统,使用 EDA 工具设计一台用硬连线逻 辑控制的简易计算机;② 要求灵活运用各方面知识,使得所设计的计算机具有较佳的性能;③ 对所设计计算机的性能指标进行分析,整理出设计报告。④ 设计出各个部分的分部件,...原创 2019-12-21 20:48:33 · 4336 阅读 · 8 评论 -
模型机CPU设计——指令译码器(2)
组合部件:1指令译码器:(1)部件功能:通过指令系统表设计一个由指令码映射到指令信号的译码器。对IR传送的机器码进行译码,产生相应的控制信号以及为下一个部件提供输入,其中指令码为8位二进制码,译码器的输出端为指令操作。(2)接口设计:输入:a,b表示由IR传送来的数据EN是使能信号输出:MOVA用来传送(R2)→ R1操作的使能信号MOVB用来传送(R2)→(C)操作的使能信...原创 2019-12-21 20:56:00 · 9911 阅读 · 8 评论 -
模型机CPU设计——选择器(3)
选择器:(1) 部件功能:从多个输入:PC,寄存器输出A口,寄存器输出B口中选择一个输入,并将信息直接传输到RAM。(2) 接口设计:视图输入:S表示选择信号,I0,I1,I2分别是来自总线寄存器组A,B口传送来的数据,输出:Y表示选择结果(3) 功能实现:当S=00,选择I0,当S=01选择I1,当S=10选择I2VHDL设计:(4)功能仿真验证:仿真结果:输入S=0...原创 2019-12-21 21:22:12 · 1250 阅读 · 1 评论 -
模型机CPU设计——控制器(4)
控制器:(1) 部件功能:功能:根据译码器传送来的输入,cf,cz标志以及IR传送来的输入产生各个分部件的控制信号,指导各个分部件有序工作。(2) 接口设计:视图输入:MOVA,MOVB,MOVC,ALU,NOT0,SHR,SHL,JMP,JZ,JC,Z,C,NOP,HALT是由译码器传送的控制信号,用来做于控制信号的产生依据。SM:由SM传送的时钟信号。IR:由指令寄存器传送的...原创 2019-12-21 21:30:41 · 3299 阅读 · 1 评论 -
模型机CPU设计——移位逻辑(5)
移位逻辑(1) 部件功能:移位逻辑需要实现 RSR、RSL左右移位操作,还需提供 MOVA、MOVB、ADD、SUB、OR、NOT 指令执行时,将数据传输至 BUS 总线的通路。(2) 接口设计:输入:Fbus:总使能,Fbus为1时进行操作,为0输出高阻态Frbus:左移控制信号Flbus:右移控制信号输出:W[7…0]:移位的结果Cf:加减法产生的进退位RTL视图(...原创 2019-12-21 21:33:16 · 2446 阅读 · 1 评论 -
模型机CPU设计——ALU函数发生器(6)
函数发生器ALU(1) 部件功能:功能:1从通用寄存器组中读取内容2在 S3~ S0 和 M 的控制下,实现运算功能3 ADD 和 SUB 加减法指令影响状态位 Cf和 Zf。(2) 接口设计:输入:S[3…0]为操作类型判断输入M是总的使能信号A[7…0]8位数据接入B[7…0]8位数据接入输出:T[7…0]操作的结果Cf进位标志Zf结果为0标志RTL视图(...原创 2019-12-21 21:39:28 · 3299 阅读 · 13 评论 -
模型机CPU设计——指令寄存器IR(7)
函数发生器ALU(1) 部件功能:功能:1从通用寄存器组中读取内容2在 S3~ S0 和 M 的控制下,实现运算功能3 ADD 和 SUB 加减法指令影响状态位 Cf和 Zf。(2) 接口设计:输入:S[3…0]为操作类型判断输入M是总的使能信号A[7…0]8位数据接入B[7…0]8位数据接入输出:T[7…0]操作的结果Cf进位标志Zf结果为0标志RTL视图(...原创 2019-12-21 21:35:36 · 3675 阅读 · 1 评论 -
模型机设计——cf寄存器(8)
cf寄存器(1) 部件功能:功能:将c标志,保存,并传送给部件控制器。(2) 接口设计:输入:X:标志输入,数据来源EN:使能控制信号,1有效Clk时钟信号输出:Cf,标志位对外输出RTL视图(3) 功能实现:时钟下降沿时,判断EN如果EN=1,载入数据,否则不进行载入VHDL设计:(4)功能仿真验证:仿真结果:时钟为4.2ns:EN=1,X=1,时钟下降...原创 2019-12-21 21:43:27 · 1166 阅读 · 0 评论 -
模型机CPU设计——zf寄存器(9)
zf寄存器(1) 部件功能:功能:将z标志存储,保存,并传送给部件控制器。(2) 接口设计:输入:X:标志输入,数据来源EN:使能控制信号,1有效Clk时钟信号输出:Zf,标志位对外输出(3) 功能实现:时钟下降沿时,判断EN如果EN=1,载入数据,否则不进行载入VHDL设计:(4)功能仿真验证:仿真结果:时钟为4.2ns:EN=1,X=1,时钟下降沿,将数据...原创 2019-12-21 21:45:21 · 1093 阅读 · 0 评论 -
模型机CPU设计——PC寄存器(10)
PC寄存器(1) 部件功能:当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由RAM读取至指令寄存器IR中,此过程称为“取指令”,与此同时,PC中的地址自动加1。跳转指令如JMP、JZ、JC让程序跳转至指定地址去执行,这时PC需要装载跳转地址。(2) 接口设计:输入:Ld_pc: 加载pc控制信号In_pc: pc加一控制信号Clk:时钟信号A[7…0]数据输入端口输...原创 2019-12-21 21:48:06 · 2444 阅读 · 0 评论 -
模型机CPU设计——时钟发生器SM(11)
时钟SM(1) 部件功能:模型机中所有指令的执行都是一个周期完成取指令,一个周期执行指令。SM则用来区分当前周期是取指令还是执行(2) 接口设计:输入:EN使能信号1有效Clk:时钟信号输出:Z,变化的周期性时钟信号RTL视图(3) 功能实现:在时钟下降沿进行判断:如果EN=1,就对SM取反后输出,EN=0,就输出SM的现有值VHDL设计:(4)功能仿真验证:...原创 2019-12-22 11:27:38 · 2300 阅读 · 1 评论 -
模型机CPU设计——通用寄存器组(12)
寄存器组:(1) 部件功能:寄存器具有快速读写的功能特点,而通用寄存器组则是实现的对三块寄存器的读写操作,根据控制信号对A,B,C寄存器实现读写,并将数据传送给ALU函数发生器(2) 接口设计:输入:WE使能信号,0有效为写入,1为提供通道Clk:时钟信号RA[1…0]控制信号,控制数据从A口读出WA[1…0]控制信号,控制数据从B口读出I[7…0]数据输入输出:A0[7…...原创 2019-12-22 11:29:32 · 3916 阅读 · 0 评论 -
模型机CPU设计——RAM和稳定器(13)
RAM和稳定器1 RAM可以根据quartus直接生成LPM_RAM_IO,实现读外接文件mif的读写RAM接口和功能由quartus提供:但是RAM存在着不稳定的问题,会出现读取操作不是由下降沿控制而只受到控制信号控制的问题,所以这个时候我们用VHDL设计一个稳定器来稳定RAM的读取操作:Stabilizer稳定器设计:(1) 部件功能:稳定器用来配合RAM使用,处理因为RAM输出...原创 2019-12-22 11:33:24 · 1843 阅读 · 0 评论 -
模型机CPU设计——系统测试和性能分析(14)
四、 系统测试4.1 测试环境开发软件:QuartusII 9.0sp1操作系统:WINDOWS10专业版4.2 测试代码用mif初始化RAM,按照系统表编写指令如下:预估执行结果:测试结果:1功能仿真图:波形分析:第1条指令MOVAM:将RAM中地址为C的数据写入寄存器A取址周期SM=0:时钟为500ps时,RAM_DL=1,RAM_XL=0,PC=000000...原创 2019-12-22 11:41:53 · 3016 阅读 · 2 评论