C++ 如何在verilog模块上运行SPECfp基准测试?

C++ 如何在verilog模块上运行SPECfp基准测试?,c++,c,unit-testing,floating-point,verilog,C++,C,Unit Testing,Floating Point,Verilog,我已经创建了一个verilog FPU,我想知道如何在它上运行SPECfp基准测试,或者这可能吗?SPEC基准测试是软件(我相信SPECfp完全是用C和Fortran编写的,但我不确定)。您不会在任意硬件组件上运行它们,而是在具有编译器和运行时环境的完整系统上运行它们。如果您只有一个FPU,那么您需要将它与一些可以运行通用代码的东西相匹配,然后设计一个编译器后端来针对您的自定义体系结构。例如,内存访问和浮点运算之间的协调对于实际浮点性能至关重要,这正是SPECPP想要衡量的。通常,限制因素是将操

我已经创建了一个verilog FPU,我想知道如何在它上运行SPECfp基准测试,或者这可能吗?

SPEC基准测试是软件(我相信SPECfp完全是用C和Fortran编写的,但我不确定)。您不会在任意硬件组件上运行它们,而是在具有编译器和运行时环境的完整系统上运行它们。如果您只有一个FPU,那么您需要将它与一些可以运行通用代码的东西相匹配,然后设计一个编译器后端来针对您的自定义体系结构。

例如,内存访问和浮点运算之间的协调对于实际浮点性能至关重要,这正是SPECPP想要衡量的。通常,限制因素是将操作数发送到浮点ALU,并将结果返回内存,而不是在正确的操作数位于正确的寄存器后执行算术运算


你有整个处理器和内存的模型吗?如果是,它的运行速度有多快?处理器设计者确实在模型上运行基准测试,但这需要大量的计算能力。

我没有完整的模型。你关于让SoftFloat运行的这句话是真的吗?我不知道,因为我对SoftFloat一无所知。你最好的起点是一个非常简单的基准,由一个小的核心控制。然后,您可以为该特定基准编写其余行为的Verilog模型。也许是林肯?