前言
记录一下我的VHDL作业,本人这学期不仅学单片机,还学VHDL语言。就目前来说,我感觉VHDL特别难学,跟C语言向同性不高,我对VHDL语言的格式不熟练。先记录一下吧,希望到后面能越来越熟练。
正文
贴一下我们的作业要求和电路图
老师要求我们写出他电路功能的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学到现在没用用过一次仿真软件,我感觉在这么干学下去是真的要吐了,纯纯的理论的东西,纸上谈兵一样。