Bei mir kommt folgendes Stück Code im Design vor:
1 | always @(posedge AWGclk) begin |
2 | if(serviceUartRXctrlStrobe) |
3 | begin
|
4 | if("S"==RXchar) begin ram[WriteAddress]<=WriteData ; end |
5 | end
|
6 | else
|
7 | begin
|
8 | counter<=counter+1'd1 ; |
9 | dac902<=ram[counter] ; |
10 | end
|
11 | end
|
Es wird das "ram" geschrieben und gelesen. Ich erhalte die folgende Warnung: Warning (276020): Inferred RAM node "ram_rtl_0" from synchronous design logic. Pass-through logic has been added to match the read-during-write behavior of the original design. Jetzt weiss ich aber, dass kein "read during write" stattfinden kann, weil das "write" im if-block ist, und der "Read" im else-Block. Wie muss ich das schreiben damit Quartus keine Warnung mehr liefert?