Vhdl 未初始化输入信号isim

Vhdl 未初始化输入信号isim,vhdl,hdl,Vhdl,Hdl,我被以下情况困住了 我正在为uart设计一个vhdl项目。有两个组件,即uart_rx.vhd和uart_tx.vhd 我假设uart_tx在最初接收到值“0”时进入标记状态,以发送信号:ready。信号 Ready未初始化,即Ready='U' uart_tx等待来自uart_rx.vhd的输入。一旦uart_tx从uart_rx接收到“0”,FSM将启动而不是标记 以下是我使用的算法: 如果就绪=o 状态为准备就绪写入测试台和初始化: signal ready : std_logic :=

我被以下情况困住了

我正在为uart设计一个vhdl项目。有两个组件,即uart_rx.vhd和uart_tx.vhd

我假设uart_tx在最初接收到值“0”时进入标记状态,以发送信号:ready。信号 Ready未初始化,即Ready='U'

uart_tx等待来自uart_rx.vhd的输入。一旦uart_tx从uart_rx接收到“0”,FSM将启动而不是标记

以下是我使用的算法:
如果就绪=o

状态为准备就绪写入测试台和初始化:

signal ready : std_logic := '0';

问题是什么?谢谢你的回答。我的问题是,信号就绪不在顶部实体的端口列表中,但它在组件uart_tx的端口列表中。两个组件实体的单独模拟工作正常,但当我使用顶部实体时,输入首先进入uart_rx,然后从那里进入uart_tx。最后,uart_tx的输出进入顶部实体的输出。任何解决方案…定义顶部模块中的信号(在架构和开始之间),如答案所示。我成功了。事实上,我刚刚改变了if-else的顺序。以前我使用过:如果Ready='0',那么。。。其他的现在我首先使用If Ready='1'条件。这样我的问题就解决了。ISim模拟器(8.2i)似乎存在微观缺陷或局限性。我想分享更多的信息,如果我发现一些有用的信息。谢谢大家如果你用的是ISIM 8.2。。。哇!ISIM在10.1左右开始变成一个有车但可用的模拟器,从13或14年开始还不错。但是8.2。。。哇!如果你可能的话。。。我衷心推荐升级!
signal ready : std_logic := '0';