Quatus仿真 电机注水控制 VHDL代码设计

**数字电路设计基础
有一水塔,由两台一大一小的电动机MS和ML 驱动水泵向水塔注水。 当水塔水面在C以上时,不给水塔 注水;当水位降到C点,由小电动机MS 单独驱动;当水位降到B点, 由大电动机ML单独驱动向水塔注水;降到A点时,则两个电动机同时驱 动,如下图所示。试设计一个控制电动机工作的逻辑电路。要求:写 出设计过程,并画出逻辑图。
**
在这里插入图片描述
设水位在A,B,C之下为0,在A,B,C之上为1,电动机MS, ML启动为1,关闭为0.

真值表
由真值表写出逻辑代数式

  1. 最小项与或表达式
  2. 化简
    在这里插入图片描述

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代码综和产生的电路)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_56256361/article/details/123671034