Skip to content

Définition de la notion de fonction

def ack_issue(I: Int)
    o_issue_ack[I] = high If I == 0 Else o_issue_ack[I - 1]

They would expand like macro calls. Taking arguments by reference? Maybe make it possible to return an array of references to the signals? Eg. transpose array with possibility to assign-back

  • Type inference?

Pour aliaser un fil on pourrait penser à quelque chose comme ref ou alias. Ils n'apparaîtraient pas dans le code généré (à discuter?). Une syntaxe de "definitive assignment" serait obligatoire, pour savoir ce à quoi on fait référence. On ne pourrait pas former d'expressions introduisant de la logique combinatoire. Un cas d'usage (le seul?) serait de travailler avec un tableau transposé:

ref transposed : N * M * T
    [@I][@J] = array[J][I]

Les utilisations suivantes feraient implicitement référence aux signaux référencés.

let output = transposed[0][1]
// devient
let output = array[1][0]
transposed[0][1] = input
// devient
array[1][0] = input

On pourrait dire qu'il est impossible d'aliaser un signal qui a un définitive assignment (ça ne sert à rien on ne peut plus y toucher).

Edited by come_744
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information