VHDL编程时,如何编写保持前一状态的程序。高手进 加分 程序示例如下:

VHDL编程时,如何编写保持前一状态的程序。高手进 加分 程序示例如下:,第1张

直接在实体定义的时候把g设置成inout就可以了,然后当第三种情况直接g<=g;

library IEEE

use IEEE.STD_LOGIC_1164.ALL

use ieee.std_logic_arith.all

use IEEE.STD_LOGIC_UNSIGNED.ALL

entity aaa is

Port (clk : in std_logic

         x :in std_logic_vector(3 downto 0)

         g :inout std_logic

       )

end aaa

architecture Behavioral of aaa is

begin

process(clk)

variable a : integer range 0 to 20:=10

variable b : integer range 0 to 20:=5

variable c : integer range 0 to 20:=0

begin

if(clk' event and clk='1') then

c:=conv_integer(x)

if(x>a) then

g<='0'

elsif (x<b) then

g<='1'

else

g<=g

end if

end if

end process

end Behavioral

这个是我仿真的截图,满足你的要求

实体,结构体,库,程序包,配置

1、实体:用于描述所设计系统的外部接口特性;即该设计实体对外的输入、输出端口数量和端口特性。

2、结构体:用于描述实体所代表的系统内部的结构和行为;它描述设计实体的结构、行为、元件及内部连接关系。

3、库:存放已经编译的实体、构造体、程序包集合和配置。

4、程序包:存放各设计模块可以共享的数据类型、常数、子程序库。

5、配置实体对应多个结构体时,从与某个实体对应的多个结构体中选定一个作为具体实现。

这个应该是mealy的状态机,输出由输入和状态输出同时决定。Mealy 型

output=f(input,state)

output=f(input,state)

nextstate=f(input,state)

nextstate=f(input,state)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8124297.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存