File VHDL文件系统操作综合

File VHDL文件系统操作综合,file,vhdl,operations,synthesis,File,Vhdl,Operations,Synthesis,我有一个关于VHDL合成系统的问题,更确切地说是关于IO文件操作的问题。我的问题是,当文件操作(如write()、read())在VHDL代码中写入时,合成系统是否会对它们进行合成?例如,在此VHDL代码中: 我很难想象这些操作会转换成芯片上的门。。。那么它是如何工作的呢 谢谢大家!:) 汤姆。你说得很对,文件操作通常不能合成 一个可能的例外是:打开一个文件,将其内容读入ROM,然后关闭该文件。诀窍在于,这一切都发生在返回数组的函数中,由初始化子句(即声明)调用,并在合成过程中执行,因此结果是R

我有一个关于VHDL合成系统的问题,更确切地说是关于IO文件操作的问题。我的问题是,当文件操作(如write()、read())在VHDL代码中写入时,合成系统是否会对它们进行合成?例如,在此VHDL代码中:

我很难想象这些操作会转换成芯片上的门。。。那么它是如何工作的呢

谢谢大家!:)


汤姆。

你说得很对,文件操作通常不能合成

一个可能的例外是:打开一个文件,将其内容读入ROM,然后关闭该文件。诀窍在于,这一切都发生在返回数组的函数中,由初始化子句(即声明)调用,并在合成过程中执行,因此结果是ROM,而不是用于处理文件的硬件!请注意,合成工具可能实际上并不支持这一点,尽管实现它并没有实际困难。(我不知道哪些synth工具(如果有的话)支持它)


那么为什么VHDL甚至有文件呢?对于测试台,可以练习您的设计并记录测试结果。

Xilinx ISE可以读取和写入文件。例如,Kevin Thibedeau的opbasm ROM模板使用读取功能来初始化区块。示例2:我使用写入功能导出FSM/Enum编码以进行ChipScope调试,并将SoC的寄存器到总线地址映射导出为汇编代码(常量和地址表)。Quartus II忽略了合成中的所有I/O函数。Vivado Synth不支持I/O函数和类型。