当成功完成任务需要另一个VHDL文件时,如何在Altera ModelSim中模拟VHDL文件?

时间:2014-09-14 23:25:06

标签: vhdl modelsim

第一个VHDL用于使26个LED旋转0到26.为此,需要10赫兹和1赫兹的时钟信号。唯一可用的时钟是50Mhz。第二个VHDL文件是将可用信号减慢到1和10hz。我使用.do文件来运行模拟来制作波形。 50Mz时钟显示正常但1hz和10hz都是扁平状态。这两个需要第二个VHDL文件。是否需要在模拟中同时使用这两个文件,因为ModelSIm只允许每次模拟选择1个VHDL文件?

简而言之,一个文件包含大量旋转的led代码,另一个文件实际上是一个头文件,用于完成主文件所需的任务。我想模拟第一个,但有些信号在模拟过程中似乎需要第二个文件,但你不能包含它。

1 个答案:

答案 0 :(得分:1)

是的,如果您想要模拟这两个文件,那么必须将两者都添加(或编译)到您的模拟环境中,例如使用vcom用于ModelSim。如果您可以在第一个和第二个文件中发布一些示例代码,那就太好了。

我的印象是你的第二个文件是一个分频器,因为你在第一段中提到它所做的只是将50-MHz信号减慢到1Hz和10Hz。但是,在阅读完第二段后我有疑问,第二段说'#34;一个文件包含大部分旋转的led代码,另一个文件实际上是一个头文件来完成主文件所需的任务&#34 ;

好吧,如果您想模拟整个设计,并且您的LED逻辑在一个文件中,而分频器在另一个文件中,您仍然需要编写测试平台代码(例如提供时钟和复位)。这个测试平台封装(实例化)你的整个设计,并且在概念上更接近你所谓的"头文件"。通常,我们将测试平台编写为单独的文件,这意味着您将拥有3个文件 - 这不是一个硬性规则,但它通常以这种方式完成。

因此,第一个文件将是您的LED"旋转器,第二个文件将是您的分频器,第三个文件将是您的测试平台。

另一件事。将50 MHz降低到1 Hz或10 Hz会占用大量的仿真时间,无论是等待有意义结果的时间量,还是计算机存储波形所需的存储量。也许你会看到" flatlines"因为您还没有模拟足够的点来查看1 Hz或10 Hz波形的任何变化。例如,如果您希望看到至少1个10 Hz的周期,则需要模拟至少0.2 us的仿真点。检查波形的末尾,看看模拟上次运行需要多少仿真时间。

另一个原因可能是您尚未编写测试平台,还没有为您的设计提供任何时钟?

在任何情况下,如果您可以发布一些代码,那就太好了。