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).