Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vhdl 获取实体的所有声明信号_Vhdl - Fatal编程技术网

Vhdl 获取实体的所有声明信号

Vhdl 获取实体的所有声明信号,vhdl,Vhdl,我想用一种优雅的方式将逻辑分析仪添加到实体(用于xilinx FPGA的chipscope)。如中所述,可以向信号添加属性(见第10页)。这告诉Vivado保留信号名称(或多或少),以便我可以将它们添加到逻辑分析器核心。 所描述的方法有一个缺点,即我需要为我想要跟踪的每个信号手动执行此操作。这使得这种方法非常容易出错 在vhdl中,是否有可能获取实体内所有声明的信号,并对其进行迭代,并在循环中分配属性?属性规范的实体名称列表可以是实体标识符、保留字others或保留字all的逗号分隔列表。您可能

我想用一种优雅的方式将逻辑分析仪添加到实体(用于xilinx FPGA的chipscope)。如中所述,可以向信号添加属性(见第10页)。这告诉Vivado保留信号名称(或多或少),以便我可以将它们添加到逻辑分析器核心。 所描述的方法有一个缺点,即我需要为我想要跟踪的每个信号手动执行此操作。这使得这种方法非常容易出错


在vhdl中,是否有可能获取实体内所有声明的信号,并对其进行迭代,并在循环中分配属性?

属性规范的实体名称列表可以是实体标识符、保留字others或保留字all的逗号分隔列表。您可能希望使用一个实体名称列表应用属性规范,该列表在每个声明性区域中的声明之后都有所有的声明。属性声明(
attribute mark\u debug:string;
)需要在制定属性规范的地方可见(
attribute mark\u debug of all:signal为“true”;
)。参见IEEE Std 1076-2008 7.2属性规范和6.7属性声明。这在早期版本中有效。IEEE Std 1076.6-2004(RTL合成)支持在此处使用保留字all和其他字,但在1076.6-1999中不支持。使用keep属性等的问题在于,您得到的实现与未使用的实现不同。否则,信号将被优化掉,这将导致另一种结构。因此,有可能实现的行为也会有所不同。即,时序/延迟路径将不同,因此可能的时钟域故障将发生在不同的位置,或最坏情况消失。所以请注意这些合成/PAR属性。我知道这些效果。我不想一直启用它。我最终想要的是添加一个泛型,在这里我可以故意启用/禁用它。因此,假设我实现了一个新的模块/实体,模拟工作正常。但是有可能我错过了一些东西,而周围的fpga并不像我想象的那样工作。所以我的计划是将这些线添加到新模块中,激活它进行集成,然后禁用它。时间路径和CDC应该不太重要,因为它们应该在代码中通过不同的措施来处理。当然,这会影响网络列表的行为。属性规范的目标是一个表达式(例如“TRUE”或“FALSE”),一个用于属性
mark\u debug
的字符串。在细化属性规范的过程中,可以使用字符串类型的通用常量传递任何可能的值(默认值为“FALSE”)。