之前的eda课都在划水…利用这个程序来总结一下eda的语法
二十进制计数器
其实二十进制计数器原理很简单。跟随时钟信号相加,即用语句Q = Q+ 1从0到19,当读到19的时候又回到0
其实就是下面的process语句,而clk event那一句其实就是确保,上升沿有效。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY eda ISPORT (clk:in std_logic;Q:out std_logic_vector(4 downto 0));END;
architecture bhv of eda issignal Q1:std_logic_vector(4 downto 0);beginprocess(clk) beginif clk'event and clk = '1' thenif Q1 = "10100"then Q1<="00000";else Q1<=Q1+1;end if;end if;end process;Q<=Q1;
end bhv;
语法
语句ENTITY eda IS
表示实体,其中eda就是我们的文件名
语句architecture bhv of eda is
表示结构体名称,end bhv
就是结束结构体,结构体负责描述电路器件的内部逻辑功能
数据类型
比如在port中,我们定义的就是std_logic
数据类型有integer整型,boolean布尔型和标准逻辑位型std_logic还有bit等
bit可以参加逻辑运算,结果是逻辑类型
进程语句
语句process(clk) begin
和end process;
就是进程语句,在VHDL中,所有顺序描述语句都必须放在进程语句中process括号里的叫做敏感信号,要求所有的输入信号都放进去
整个结构差不多就是这样