ModelSim Altera: Simulation des Moduls "lpm_add_sub"?

Ich versuche, ein Verilog-Modul zu simulieren, das das Modul "lpm_add_sub" verwendet, um einem Addierer einen separaten Übertrag bereitzustellen (aus irgendeinem Grund erkennt Quartus II nicht, dass ein a+b+ceinzelnes cBit in einem einzelnen Addierer implementiert werden kann und synthetisiert zwei Addierer dafür). Wenn ich jedoch versuche, die Simulation in ModelSim zu starten, erhalte ich folgende Meldungen:

vsim -L altera_ver -L altera_mf_ver -L cycloneiv_ver -L cycloneive_ver -L lpm_ver -voptargs=+acc work.rotation_sensor
# vsim -L altera_ver -L altera_mf_ver -L cycloneiv_ver -L cycloneive_ver -L lpm_ver -voptargs=+acc work.rotation_sensor 
# Loading work.rotation_sensor
# Loading work.bitcounter
# Loading lpm_ver.lpm_add_sub
# ** Error: (vsim-3584) C:/Development/ican/IcanFinal2/rotation_sensor.v(119): Module parameter 'LPM_DIRECTION' not found for override.
# 
#         Region: /rotation_sensor/bitcounter/genblk1
# ** Error: (vsim-3584) C:/Development/ican/IcanFinal2/rotation_sensor.v(119): Module parameter 'LPM_REPRESENTATION' not found for override.
# 
#         Region: /rotation_sensor/bitcounter/genblk1
# ** Error: (vsim-3584) C:/Development/ican/IcanFinal2/rotation_sensor.v(119): Module parameter 'LPM_WIDTH' not found for override.
# 
#         Region: /rotation_sensor/bitcounter/genblk1
# Error loading design

Irgendwelche Ideen, was ich falsch mache? Die Codezeile, die den Fehler verursacht, ist diese:

        lpm_add_sub #(.LPM_DIRECTION("ADD"), .LPM_WIDTH(SUBRESULTSIZE), .LPM_REPRESENTATION("UNSIGNED")) a (
            .dataa(tophalf_count),
            .datab(bottomhalf_count),
            .cin(bits[INPUTWIDTH-1]),
            .result(add_out[SUBRESULTSIZE-1:0]),
            .cout(add_out[SUBRESULTSIZE]));

Antworten (1)

Laut der Wissensdatenbank von Altera handelt es sich um einen Fehler in ihrer Simulationsbibliothek, bei der die Parameternamen fälschlicherweise nur in Kleinbuchstaben definiert sind (sie sollte anscheinend beides akzeptieren können).

http://www.altera.co.uk/support/kdb/solutions/rd04192000_5867.html

Die direkte Suche nach der Fehlermeldung ergab keine Ergebnisse, da sich der Text der Fehlermeldung geändert zu haben scheint, seit sie die Beschreibung des Problems zu ihrer Wissensdatenbank hinzugefügt haben.

Glücklicherweise werden für die Synthese die Kleinbuchstaben genauso akzeptiert wie die Großbuchstaben (wie sie in der Dokumentation verwendet werden).