>An welche Schnittstelle hast Du da gedacht?
Auf dem FPGA soll ein SPI Slave laufen- er empfängt Daten und legt diese
ab. Ich möchte genau darauf zugreifen.
Außerdem soll ein HDMI Stream genutzt werden können. ( Einfach nur weiße
Pixel auf den sonst schwarzen Stream legen)
>Und mit welchen Nios-Befehlen willst Du mit Deiner Komponente
>kommunizieren?
Habe mal unten ein Beispiel wie ich es jetzt versucht habe.. aber gerne
verwende ich auch andere Befehle.
@Martin S.
Deine Antwort schaue ich mir noch genauer an. Habe gerade erst mal meine
Idee getestet. War mir wichtig.
Vielen Dank für deinen Tipp - Vielleicht es ja sogar sowas ähnliches !
:D
*Mein testmodul, was einem Signal die Kombination 101 zuweist (also 5)*
1 | module test1 (
|
2 | input logic clk_s,
|
3 | input logic x,
|
4 | input logic y,
|
5 | output logic sum,
|
6 | output bit [2:0] t1
|
7 | );
|
8 |
|
9 | always @(clk_s)
|
10 | begin
|
11 | sum <= x + y;
|
12 | t1<=3'b101; //6'b10_0011 => 100011
|
13 | end
|
14 |
|
15 | endmodule
|
* Mein Toplvl Modul was mein testmodul instanziiert und das Signal an
den NIOS weitergibt... *
1 |
|
2 | module p1(
|
3 | (* chip_pin = "V11" *) input logic clk,
|
4 | (* chip_pin = "AH17" *) input logic reset_n,
|
5 | (* chip_pin = "W15" *) output logic led,
|
6 | (* chip_pin = "AA24" *) output logic led2,
|
7 | (* chip_pin = "Y24" *) input logic key, // y24 erster
|
8 | (* chip_pin = "W24" *) input logic key2 // w24 =zweiter
|
9 |
|
10 | );
|
11 |
|
12 | // Signals
|
13 | logic test;
|
14 | logic raus;
|
15 | logic x;
|
16 | logic y;
|
17 | logic adder_out;
|
18 | logic out2;
|
19 | bit [2:0] adder_out2 ;
|
20 |
|
21 |
|
22 | unsaved u0 ( // NIOS
|
23 | .clk_clk (clk), // clk.clk
|
24 | .reset_reset_n (reset_n), // reset.reset_n
|
25 | .pio_in_export(adder_out2)
|
26 | );
|
27 |
|
28 |
|
29 |
|
30 |
|
31 | test1 adder( // eigene komponente
|
32 | .clk_s(clk),
|
33 | .x(test),
|
34 | .y(key2),
|
35 | .sum(adder_out),
|
36 | .t1(adder_out2)
|
37 | );
|
38 | // eigner COde
|
39 | always_ff @(posedge clk) begin
|
40 |
|
41 | //led2<=key; // non blocking
|
42 | test <= key;
|
43 | end
|
44 |
|
45 | endmodule
|
Mein NIOS Programm was das Signal erhält---
1 |
|
2 | #include "sys/alt_stdio.h"
|
3 | #include "io.h"
|
4 | #include "alt_types.h"
|
5 | #include "system.h"
|
6 | int main() {
|
7 | volatile unsigned int * key_ptr = (volatile unsigned int *) 0x80009000;
|
8 | alt_putstr("Hello from Nios II!\n");
|
9 | int swValue = IORD(0x80009000, 0);
|
10 | printf("key: %d", swValue);
|
11 | /* Event loop never exits. */
|
12 | while (1) {
|
13 |
|
14 | }
|
15 |
|
16 | return 0;
|
17 | }
|
Wenn man den NIOS ausführt ( an dieser stelle stürzt eclipse beim copy
und pasten einfach ab- aber so in etwas steht das da:) - das ist 101 ,
also das was ich oben im testmodul zugewiesen habe..
1 | Hello from Nios II! key: 5
|