Functional Programming in VHDL

VHDL是一种硬件描述语言。

ARCHITECTURE full_add_arch OF full_add IS 
COMPONENT adder
port(
a, b, c: IN STD_LOGIC;
carr: OUT STD_LOGIC;
sum: OUT STD_LOGIC
);
END COMPONENT;
SIGNAL c1, c2, c3: STD_LOGIC;
BEGIN
port(
u0: adder PORT MAP(a(0), b(0), cin, c1, sum(0) );
u1: adder PORT MAP(a(1), b(1), c1, c2, sum(1) );
u2: adder PORT MAP(a(2), b(2), c2, c3, sum(3) );
u3: adder PORT MAP(a(3), b(3), c3, cout, sum(3) )
);
END full_add_arch;


就像我之前强调过的那样,所谓FP就是把Function看作函数(亦即映射)而不是像命令式程序里那样看作“作用”。而硬件描述语言处理的都是高低电平,连接signal的都是两个管脚之间的冷冰冰的导线,注定导线的两边电平是相同的。这也就决定了它的function就像方程等号的两边一样是等价的,可互换的。这才保证了function的函数身份。
初中数学导入函数概念的时候就是从方程来的。而高中数学导入函数概念是从来不离开映射的概念的。
其实我也只是看到一个Map语句才一下想到函数式的。何为Map?不就是映射吗。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值