Seite 1 von 1

Bsp Vorlesung BypassFIFOF kompiliert nicht

Verfasst: 15. Jul 2015 17:27
von schamane
Hallo,

zum besseren Verständnis habe ich das module mkBypassFIFOF der Vorlesung (Folie 116) kopiert und (auf den Poolrechnern) zu kompilieren versucht. Hierbei bekomme ich jedoch einen Fehler, den ich nicht zu beheben in der Lage bin:

Code: Alles auswählen

$ bsc -u -sim BypassFIFOF.bsv 
checking package dependencies
compiling BypassFIFOF.bsv
Error: "BypassFIFOF.bsv", line 9, column 26: (T0080)
  Type error at the use of the following function:
    mkCReg

  The expected return type of the function:
    e__#(Array#(Bit#(1)))

  The return type according to the use:
    b__#(Array#(Reg#(a__)))
besagte Zeile 9 ist dabei folgende:

Code: Alles auswählen

 Bit#(1) creg_count[3] <- mkCReg(3,0); // Anzahl in FIFO (0...1)
Mir ist bewusst, dass die in der Vorlesung vorgestellte Benutzung des Compilers vorsieht, ein top-Modul anzugeben. Das führt in diesem Fall jedoch dazu, dass der Compiler sich beschwert, dass das interface polymorph ist:

Code: Alles auswählen

Error: "BypassFIFOF.bsv", line 7, column 8: (T0043)
  Cannot synthesize `mkBypassFIFOF': Its interface is polymorphic.
Kann mir jemand helfen, diesen Code zu kompilieren?

Re: Bsp Vorlesung BypassFIFOF kompiliert nicht

Verfasst: 16. Jul 2015 10:48
von JHofmann
Hallo,

da fehlt das "Reg" Interface.

Code: Alles auswählen

 Reg#(Bit#(1)) creg_count[3] <- mkCReg(3,0); // Anzahl in FIFO (0...1)
Viele Grüße,