
vhdl
HNU岳麓山大小姐
想要变幸福~
展开
-
(萌新的数电学习)用VHDL语言设计一个 3-8 译码器
实验背景:3-8 译码器(3 to 8 Demultiplexer),也叫 3-8 解码器用途:用一组二进制代码来产生各种独立的输出信号,这种输出信号可以用来执行不同的工作。显示器中的像素点受到译码器的输出控制。逻辑框图:用逻辑符号(Symbol)来解释该电路输入与输出信号之间的逻辑关系,既省事又直观。VHDL代码:Library IEEE;--库声明USE IEEE.std_logic_1164.all;ENTITY sanbayimaqi IS--实体 PORT(a,b,c:IN st原创 2020-12-10 21:11:08 · 3696 阅读 · 2 评论 -
(萌新的数电学习)用 VHDL语言设计一个异或门
实验背景:异或门是一种用途广泛的门电路。典型应用是作为加法器的单元电路。VHDL代码第一种写法:Library IEEE;--库声明USE IEEE.std_logic_1164.all;ENTITY yihuomen IS--实体 PORT(a,b:IN std_logic; y:OUT std_logic);END yihuomen;ARCHITECTURE one of yihuomen is--结构体 BEGIN y<=(a and not b)or(not原创 2020-12-10 21:00:17 · 5765 阅读 · 1 评论 -
(萌新的数电学习)用 VHDL语言设计模型机指令译码器
实验背景:通过指令系统表我们可以设计一个由指令码映射到指令信号的译码器。其中指令码为 8 位二进制码,译码器的输出端为指令操作。VHDL代码Library IEEE;--库声明USE IEEE.std_logic_1164.all;ENTITY moxingji IS--实体 PORT(EN:in std_logic; IR:in std_logic_vector(0 to 7); MOVA,MOVB,MOVC,ADD,SUB,ORO,NOTO,RSR,RSL,JMP,原创 2020-12-10 21:19:17 · 765 阅读 · 0 评论 -
(萌新的数电学习) 用 VHDL语言设计8重3-1多路复用器
实验背景:多路复用器是一个组合电路,它可以从多个输入中选择一个输入,并将信息直接传输到输出。选择哪一条输入线由一组输入变量控制,它们被称为选择输入。通常,2n条输入线要 n 个选择输入,选择输入的位组合决定选择哪个输入线。例如 n=1 的 2-1 多路复用器。这个复用器有两个信息输入 I0 和 I1,一个单独的选择输入 S,电路的真值表如表所示。VHDL语言Library IEEE;--库声明USE IEEE.std_logic_1164.all;ENTITY duolufuyongqi IS-原创 2020-12-12 20:13:31 · 1370 阅读 · 0 评论 -
(萌新的数电学习)用VHDL语言设计4位行波进位加法器
实验背景:全加器是实现三位数相加的组合逻辑电路,共有三个输入,两个输出。输入变量中的两个用 X 和 Y 表示,代表两个加数,第三个输入 Z 表示低位产生的进位。两个输出用 S(和)与 C(进位)来表示。输出值由三位输入的算术和决定。当所有输入都为 0 时,输出均为 0。当输入仅有一个为 1 或三个全为 1时,输出 S 为 1。当输入有两个或三个为 1 时,则输出 C 为 1。全加器的布尔表达式用异或运算表示可写成:S=X⊕Y⊕ZC=XY+YZ+XZ四位行波进位加法器由四个全加器级联形成。被加数A和加原创 2021-02-04 11:01:41 · 2367 阅读 · 0 评论 -
(萌新的数电学习)用VHDL语言设计4位先行进位加法器
实验背景:行波进位加法器需要一级一级的进位,进位延迟很大。先行进位加法器(也叫超前进位加法器)可以有效的减少进位延迟。设二进制加法器的第 i 位输入为 Xi、Yi, 输出为 Si, 进位输入为 Ci,进位输出为 Ci+1则有Si = Xi⊕Yi⊕CiCi+1 = Xi·Yi + Xi·Ci + Yi·Ci = Xi·Yi + (Xi + Yi)·Ci令 Gi = Xi·Yi, Pi = Xi+Yi则 Ci+1 = Gi + Pi·Ci当 Xi 和 Yi 都为 1 时,Gi = 1,产生进位原创 2021-02-04 11:08:26 · 2007 阅读 · 0 评论 -
(萌新的数电学习)用VHDL语言设计简易模型机结构
实验背景:计算机的工作过程可以看作是许多不同的数据流和控制流在机器各部分之间的流动,数据流所经过的路径称作机器的数据通路。数据通路不同,指令执行所经过的操作过程就不同,机器的结构也就不一样。VHDL语言library ieee;use ieee.std_logic_1164.all;entity kongzhi isport ( MOVA,MOVB,MOVC,ADD,SUB,OR0,NOT0,RSR,RSL,JMP,JZ,JC,IN0,OUT0,NOP,HALT,SM,CF,ZF:IN原创 2021-02-04 11:16:32 · 492 阅读 · 0 评论 -
(萌新的数电学习)用VHDL语言设计ALU
实验背景:算术逻辑运算类指令:ADD R1, R2SUB R1, R2OR R1, R2NOT R1这类指令的执行过程为:由R2的编码通过RAA1、RAA0 从通用寄存器组S口读出R2的内容,由R1的编码通过RWBA1、RWBA0从通用寄存器组D口读出R1的内容,在S3~S0和M的控制下,实现运算,经移位逻辑送入总线BUS;由/WE控制和R1的编码选择RWBA1、RWBA0,将BUS上的数据写入通用寄存器R1。其中ADD和SUB指令影响状态位Cf和Zf。指令具体功能如下:ALU根据S3-原创 2021-02-04 11:24:17 · 1795 阅读 · 0 评论 -
(萌新的数电学习)用VHDL语言设计移位逻辑
实验背景:移位指令:RSR R1RSL R1这类指令的执行过程为:由R1的编码通过RWBA1、RWBA0从通用寄存器组D口读出R1的内容,在S3~S0和M的控制下通过ALU,经移位逻辑循环右移或循环左移后送入总线BUS;再由/WE控制和R1的编码选择RWBA1、RWBA0,将BUS上的数据写入通用寄存器R1。指令具体功能如下:RSR 循环移位操作具体如下:移位逻辑需要实现RSR、RSL操作,还需提供MOVA、MOVB、ADD、SUB、OR、NOT、OUT指令执行时,将数据传输至BUS总线原创 2021-02-04 11:30:28 · 1600 阅读 · 0 评论 -
(萌新的数电学习)用VHDL语言设计控制信号产生逻辑
实验背景:控制信号产生逻辑接收指令译码器的输出,配合 SM、IR[7…0]以及状态位Cf 和 Zf,产生每个模块所需要的控制信号。控制信号产生逻辑的输入输出引脚如下图所示:VHDL语言library ieee;use ieee.std_logic_1164.all;entity kongzhi isport ( MOVA,MOVB,MOVC,ADD,SUB,OR0,NOT0,RSR,RSL,JMP,JZ,JC,IN0,OUT0,NOP,HALT,SM,CF,ZF:IN STD_LOGI原创 2021-02-04 11:34:37 · 769 阅读 · 1 评论 -
(萌新的数电学习)用VHDL语言设计SM
实验背景:模型机中所有指令的执行都是一个周期完成取指令,一个周期执行指令。如何区分当前周期是取指令还是执行呢?这就需要SM。当SM=0时,该周期完成取指令,当SM=1时,该周期执行指令。SM的功能及接口如下:VHDL语言library ieee;use ieee.std_logic_1164.all;entity sm is port(clk, EN:in std_logic; Z:out std_logic) ;end sm;architecture aaa of SM原创 2021-02-04 11:38:39 · 447 阅读 · 0 评论 -
(萌新的数电学习)用VHDL语言设计指令计数器PC
实验背景:指令计数器PC保存的是下一条指令在RAM中存放的地址。CPU执行一条指令,根据PC中存放的指令地址,将指令从RAM读出写入指令寄存器IR中,此过程称为“取指令”,与此同时,PC中的地址自动加1,指向下一条指令在RAM中的存放地址。跳转指令如JMP、JZ、JC让程序跳转至指定地址去执行,这时PC需要装载跳转地址。因此,指令计数器PC的接口及功能如下:VHDL语言library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_uns原创 2021-02-04 11:42:18 · 1331 阅读 · 0 评论 -
(萌新的数电学习)用VHDL语言设计通用寄存器组
实验背景:寄存器是CPU内的重要组成部分,模型机的通用寄存器组包含3个8位寄存器A、B、C,实现对此3个寄存器的读写操作。其接口及功能如下:VHDL语言library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity tongyongjicunqi is port(clk,WE:in std_logic; RA,WA:in std_logic_vector (1 downto 0);原创 2021-02-04 11:45:58 · 2215 阅读 · 0 评论 -
(萌新的数电学习)用VHDL语言设计CPU
一、目的:完整、连贯地运用《数字逻辑》所学到的知识,熟练掌握 EDA 工具基本使用方法,为学习好后续《计算机原理》课程做铺垫。二、设计内容(一) 按照给定的数据通路、数据格式和指令系统,使用 EDA 工具设计一台用硬连线逻辑控制的简易计算机;(二) 要求灵活运用各方面知识,使得所设计的计算机具有较佳的性能;(三) 对所设计计算机的性能指标进行分析,整理出设计报告。三、详细设计用VHDL语言设计的ZFlibrary ieee;use ieee.std_logic_1164.all;u原创 2021-02-04 12:08:56 · 2211 阅读 · 0 评论