带输出选通的8位锁存器-VHDL作业

首页 / 随随便便写 / 正文

前言

记录一下我的VHDL作业,本人这学期不仅学单片机,还学VHDL语言。就目前来说,我感觉VHDL特别难学,跟C语言向同性不高,我对VHDL语言的格式不熟练。先记录一下吧,希望到后面能越来越熟练。

正文

贴一下我们的作业要求和电路图
10.16作业.png
老师要求我们写出他电路功能的VHDL表达
交个作业

LIBRARY IEEE;
USE LEEE.STD_LOGIC_1164.ALL  //头文件

ENTITY one;  //实体部分
PORT(D IN:STD_LOGIC_VECTOR(7 DONWTO 0); //D是8位输入端
clk,OE IN:STD_LOGIC;  //时钟控制端
Q OUT:STD_LOGIC_VECTOR(7 DONWTO 0)); //8位输出端
END one;

ARCHITRECTRUE two OF one IS  //结构体部分
SIGNAL QQ:STD_LOGIC_VECTOR(7 DOWNTO 0);  //定义一个中间变量QQ,是一个8位的。
BEGIN
PROCESS(clk)  //标注敏感信号,也就是时钟信号CLK
BEGIN
  IF clk;EVENT AND clk='1' THEN  //先对时钟信号clk判断是不是上升沿(有效)
    QQ<=D;  //把D的值输出给QQ
  END IF;
  IF OE='0' THEN  //再对OE的值判断是不是为0
    Q<=QQ;  //把QQ的值输出给Q
  ELSE
  Q<='XXXXXXXX'  //否则随便用一个8位的数给Q输出
  END IF;
END PROCESS;
END two; //结束结构体

后言

VHDL学到现在没用用过一次仿真软件,我感觉在这么干学下去是真的要吐了,纯纯的理论的东西,纸上谈兵一样。

打赏
评论区
头像