VHDL,Very-High-Speed Integrated Circuit Hardware Description Language,到最后很多人说,我们学的这个东西叫什么都不知道。有必要简单记录一下。因为当初不想看一些规范话的东西,到最后回过头来看,发现基本都是通用的。
一非软件的语言,刚开始学的时候很是浮躁,到最后才静下心来看看究竟是什么东西,后面发现用硬件描述语言写处理器。这个就偏硬件方面了。
写一个简单的5位数字比较器。
library ieee;
use ieee.std_logic_1164.all;
标准库引用前说明,这和引入包一样的道理。
接下来就是规范话的东西,写一个实体,定义输入输出的引脚等等。
entity compare is
port(a,b:in std_logic_vector(4 downto 0);
c,d,e:out std_logic);
end compare;
std_logic_vector和std_logic为基本数据类型,和c的int类型等类似。 std_logic_vector就是有几位的2进制数,这里为从高位4到低位0,共五位,std_logic就是简单的0和1。这些都是引脚。
实体里面是结构体。定义这个器件的逻辑功能。
architecture result of compare is
begin
process(a,b)
begin
c <= '0';
d <= '0';
e <= '0';
if a > b then
gt <= '1';
elsif a < b then
lt <= '1';
else eq <='1';
end if;
end process;
end result;
刚开始看就是看不惯,除去规定写的一些东西,核心就是if和else,对两个数进行大小的判断。
程序很简单,写一遍比较难,不熟,个人感觉难看,其实终归是自己没用心去看。还有一个就是编程语言,其实都很像。