Hi!
Kann man sowas in Verilog einfacher schreiben?
Präziser: Geht da irgendwas mit `define um die Negierung bei der
Zuweisung automagisch einzusetzen?
Oder irgendwas anderes kompaktes? Den code zu kopieren erscheint mir
nicht sinnvoll.
Ich stell mir was in der Richtung vor:
1 | 4'h0: segments[6:0] = `negate 7'b0000110;
|
Allerding soll das 'negate' nur lokal sein.
Beispiel:
1 | module HexToSeg #(parameter activeHigh = 1) (
|
2 | input wire [3:0] hex,
|
3 | output reg [6:0] segments
|
4 | )
|
5 |
|
6 | always @* begin
|
7 | if (activeHigh) begin
|
8 | case (hex)
|
9 | 4'h0: segments[6:0] = 7'b0000110;
|
10 | ...
|
11 | endcase
|
12 | end
|
13 | else begin
|
14 | case (hex)
|
15 | 4'h0: segments[6:0] = ~7'b0000110;
|
16 | ...
|
17 | endcase
|
18 | end
|
19 | end
|
20 |
|
21 | endmodule
|
Gruß & Dank,
Nick
Wieso gibt es denn kein tag für Verilog-Formatierung, sondern nur für
VHDL? Das ist ja schrecklich! ;-)