基于VHDL的8位模型计算机的设计与实现(8)

2018-12-20 10:21

理工大学学士学位论文

ENTITY PC IS

PORT( IPC,CLK,CLR:IN STD_LOGIC;

PCOUT:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); END PC;

ARCHITECTURE A OF PC IS

SIGNAL QOUT:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN

PROCESS(CLK,CLR,IPC) BEGIN

IF(CLR=’0’) THEN QOUT=‖0000‖;

ELSIF(CLK’EVENT AND CLK=’1’) THEN IF(IPC=’1’) THEN QOUT<=QOUT+1; END IF; END IF; END PROCESS; PCOUT<=QOUT; END A;

3.程序计数器模块仿真波形

32

理工大学学士学位论文

图3.15 程序计数器功能仿真

波形分析:时钟信号CLK周期设为10ns,前20nsCLR信号设为低电平,程序计数器清零输出为000,第20ns之后CLR=1,程序计数器开始随时钟上升沿开始计数,输出地址为000,001,010,011,100,101,110,111,波形如图3.15所示。 3.5.8 地址寄存器MAR

说明:用MAR来保存当前CPU所访问的主存储器单元的地址。

1.逻辑框图

33

理工大学学士学位论文

开始CLK=1NNYIMAR=0Y输出地址值结束

图3.16 地址寄存器模块程序流程图

说明:用来保存当前CPU所访问的主存储器单元的地址,由于主存储器与CPU之间存在操作速度上的差别,所以必须使用地址寄存器来保存地址信息,直到主存储器的读/写操作完成为止。当IMAR=0且时钟信号CLK上升沿到来时,将地址存入,并直接输出到存储器的地址线上.

2.VHDL源程序设计 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY MAR IS

PORT(ADDR_IN:IN STD_LOGIC_VECTOR(2 DOWNTO 0); IMAR:IN STD_LOGIC; CLK:IN STD_LOGIC;

ADDR_OUT:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); END MAR;

ARCHITECTURE A OF MAR IS

34

理工大学学士学位论文

BEGIN

PROCESS(CLK,IMAR) BEGIN

IF(CLK’EVENT AND CLK=’1’) THEN IF (IMAR=’0’) THEN ADDR_OUT<=ADDR_IN; END IF; END IF; END PROCESS; END A;

3.地址寄存器模块仿真波形

图3.17 地址寄存器功能仿真

35

理工大学学士学位论文

波形分析:输入等于输出,当地址寄存信号IMAR=0时,将地址输入,ADDR_IN设置为000到100循环,ADDR_OUT输出也是对应的000到1000,波形图如图3.17所示。

3.5.9 存储器RAM

说明:用于存储程序和数据

1.逻辑框图

开始NCS=0YWR=0Y写入地址内容N读出地址内容结束

图3.18 存储器RAM程序流程图

说明:计算机是按事先编写的程序进行运算的,首先将编写好的程序写入存储器,计算机在运行过程中对存储器进行读写操作。存储器,存储内容:000—00111110,001—00000110,010—11000110,011—00000111,100—01110110

36


基于VHDL的8位模型计算机的设计与实现(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:动词ing形式做主语和宾语(课堂设计)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: