**数字电路设计基础
有一水塔,由两台一大一小的电动机MS和ML 驱动水泵向水塔注水。 当水塔水面在C以上时,不给水塔 注水;当水位降到C点,由小电动机MS 单独驱动;当水位降到B点, 由大电动机ML单独驱动向水塔注水;降到A点时,则两个电动机同时驱 动,如下图所示。试设计一个控制电动机工作的逻辑电路。要求:写 出设计过程,并画出逻辑图。
**
设水位在A,B,C之下为0,在A,B,C之上为1,电动机MS, ML启动为1,关闭为0.
由真值表写出逻辑代数式
- 最小项与或表达式
- 化简
VHDL代码
library ieee;
use ieee.std_logic_1164.all;
entity water is
port(a,b,c: in std_logic; ys,yl: out std_logic);
end water;
architecture dataflow of water is
begin
process(a,b,c)
variable temp1:std_logic;
variable temp2:std_logic;
variable temp3:std_logic;
begin
temp1:=not b;
temp2:=not c;
yl<=temp1 and temp2;
temp3:=a xnor b;
ys<=temp2 and temp3;
end process;
end dataflow;
逻辑图设计
RTL Viewer(VHDL代码综和产生的电路)