一些背景:
我正在为以太网MAC编写VHDL测试平台 . 测试平台由一个包和一个组合的实体体系结构文件组成 . 我想读取测试平台将从我从wireshark导出的二进制文件发送到MAC的以太网帧 .
我'm writing in VHDL 2008 and I'm使用Mentor Graphics Model Technology ModelSim ALTERA vcom 10.0d Compiler .
问题:
到目前为止,我在VHDL / modelsim中读取二进制数据的所有解决方案都使用特殊的文件格式,其中bit_vector的1位由文件中的几位表示 . 我希望VHDL将二进制文件读入8位bit_vectors .
我到目前为止最接近的是使用字符类型文件,我可以直接以二进制表示形式写入8位ASCII字符 .
3 回答
我曾经这样做过,但是发现编写一个简短的脚本(用严肃的文本处理语言)从任何输入转换为真正的VHDL文件,并将数据描述为合适数据类型的常量数组,效率更高 .
这比在VHDL IMHO中进行文件解析要容易得多 .
我找到了解决方案 . 如果我想直接在8位部分解释数据,我需要使用 character 类型的文件,并使用 'POS 属性将它们转换为整数 . 然后我可以将这些整数转换为位向量 . 这就是我做的方式:
基于@ youR.Fate之前的回答,我能够将示例进一步简化为: