Guten Tag liebes µC-Forum,
seit kurzem versuche ich mich an diesem guten Stück hier:
https://embeddedmicro.com/mojo-v3.html
Außerdem hab ich dieses Buch an meiner Seite:
https://www.amazon.de/Verilog-Modellbildung-Verifikation-Grundlagen-Informationstechnik/dp/3486580043/ref=sr_1_1?ie=UTF8&qid=1489068748&sr=8-1&keywords=verilog+modellbildung
Ich bin ein wenig durch die Tutorials von embeddedmicro "gerast" und geh
diese jetzt wieder durch, Step-by-Step und Zeile für Zeile. Jedoch stell
ich nun fest, dass mir die Modul-Beschreibung, wie sie in den Tutorials
gemacht wird, ziemlich unverständlich ist.
Ich versuche die Module tatsächlich aufs Papier zu skizzieren um mir ein
Bild vom Ablauf und den Bauteilen zu machen.
In diesem Tutorial hier
(https://embeddedmicro.com/tutorials/mojo/synchronous-logic) soll nun
ein DFF realisiert werden, ich verstehe aber nicht, woher Verilog weiß,
was alle Ein- und Ausgänge sind.
Bei diesem Code
1 | module blinker(
|
2 | input clk,
|
3 | input rst,
|
4 | output blink
|
5 | );
|
6 |
|
7 | reg [24:0] counter_d, counter_q;
|
8 |
|
9 | assign blink = counter_q[24];
|
10 |
|
11 | always @(counter_q) begin
|
12 | counter_d = counter_q + 1'b1;
|
13 | end
|
14 |
|
15 | always @(posedge clk) begin
|
16 | if (rst) begin
|
17 | counter_q <= 25'b0;
|
18 | end else begin
|
19 | counter_q <= counter_d;
|
20 | end
|
21 | end
|
22 |
|
23 | endmodule
|
werden doch counter_d und counter_q nie als In- oder Output deklariert.
Woher weiß Verilog nun, dass das eine ein Eingang und das andere ein
Ausgang sein soll.
Für jede Hilfe bin ich dankbar (ich denke, man merkt, dass ich noch am
Anfang stehe)
MfG, Sivas!