Module: rio


Ports:

DirectionSizeName
outputBLINK_LED
inputINTERFACE_UART_RX
outputINTERFACE_UART_TX
inputSW_S1
inputSW_S2
inputSW_S3
inputSW_S4
inputVIN5_IR
inputVIN6_CLK
inputVIN6_DATA
outputVIN7_CS
inputVIN7_MISO
outputVIN7_SCLK
outputVOUT4_FREQUENCY
outputVOUT8_7SEG_EN1
outputVOUT8_7SEG_EN2
outputVOUT8_7SEG_EN3
outputVOUT8_7SEG_EN4
outputVOUT8_7SEG_SEG_A
outputVOUT8_7SEG_SEG_B
outputVOUT8_7SEG_SEG_C
outputVOUT8_7SEG_SEG_D
outputVOUT8_7SEG_SEG_E
outputVOUT8_7SEG_SEG_F
outputVOUT8_7SEG_SEG_G
inputsysclk

Parameter:

ParameterDefault
BUFFER_SIZE0x88136
[ZOOM]
G interfaceuart interface_uart PORTS UART_RX UART_TX clk rx_data[135:0] tx_data[135:0] uart_rx1     uart_tx1 interface_uart.v blink blink PORTS clk led blink.v vinir vin_ir PORTS Code[7:0] clk ir vin_ir.v vinps2 vin_ps2 PORTS clk code[15:0] ps2_clk ps2_data vin_ps2.v vintlc549c vin_tlc549c PORTS adc_clk adc_cs_n adc_data[7:0] adc_data_in clk vin_tlc549c.v pins PINS output PIN_3 input PIN_87 output PIN_86 input PIN_88 input PIN_91 input PIN_90 input PIN_89 input PIN_132 input PIN_99 input PIN_98 output PIN_129 input PIN_128 output PIN_127 output PIN_85 output PIN_137 output PIN_135 output PIN_136 output PIN_133 output PIN_143 output PIN_144 output PIN_1 output PIN_141 output PIN_142 output PIN_138 output PIN_2 input PIN_24 rio rio PORTS BLINK_LED INTERFACE_UART_RX INTERFACE_UART_TX SW_S1 SW_S2 SW_S3 SW_S4 VIN5_IR VIN6_CLK VIN6_DATA VIN7_CS VIN7_MISO VIN7_SCLK VOUT4_FREQUENCY VOUT8_7SEG_EN1 VOUT8_7SEG_EN2 VOUT8_7SEG_EN3 VOUT8_7SEG_EN4 VOUT8_7SEG_SEG_A VOUT8_7SEG_SEG_B VOUT8_7SEG_SEG_C VOUT8_7SEG_SEG_D VOUT8_7SEG_SEG_E VOUT8_7SEG_SEG_F VOUT8_7SEG_SEG_G sysclk blink1 sysclk BLINK_LED     uart1 INTERFACE_UART_RX INTERFACE_UART_TX sysclk rx_data tx_data     vin_ir5 PV5 sysclk VIN5_IR     vin_ps26 sysclk PV6 VIN6_CLK VIN6_DATA     vin_tlc549c7 VIN7_SCLK VIN7_CS PV7 VIN7_MISO sysclk     vout_7seg8 sysclk VOUT8_7SEG_SEG_A VOUT8_7SEG_SEG_B VOUT8_7SEG_SEG_C VOUT8_7SEG_SEG_D VOUT8_7SEG_SEG_E VOUT8_7SEG_SEG_F VOUT8_7SEG_SEG_G VOUT8_7SEG_EN1 VOUT8_7SEG_EN2 VOUT8_7SEG_EN3 VOUT8_7SEG_EN4 SP8     vout_frequency4 VOUT4_FREQUENCY sysclk INTERFACE_TIMEOUT SOUND rio.v pins:PIN_3->rio:BLINK_LED pins:PIN_87->rio:INTERFACE_UART_RX pins:PIN_86->rio:INTERFACE_UART_TX pins:PIN_88->rio:SW_S1 pins:PIN_91->rio:SW_S2 pins:PIN_90->rio:SW_S3 pins:PIN_89->rio:SW_S4 pins:PIN_132->rio:VIN5_IR pins:PIN_99->rio:VIN6_CLK pins:PIN_98->rio:VIN6_DATA pins:PIN_129->rio:VIN7_CS pins:PIN_128->rio:VIN7_MISO pins:PIN_127->rio:VIN7_SCLK pins:PIN_85->rio:VOUT4_FREQUENCY pins:PIN_137->rio:VOUT8_7SEG_EN1 pins:PIN_135->rio:VOUT8_7SEG_EN2 pins:PIN_136->rio:VOUT8_7SEG_EN3 pins:PIN_133->rio:VOUT8_7SEG_EN4 pins:PIN_143->rio:VOUT8_7SEG_SEG_A pins:PIN_144->rio:VOUT8_7SEG_SEG_B pins:PIN_1->rio:VOUT8_7SEG_SEG_C pins:PIN_141->rio:VOUT8_7SEG_SEG_D pins:PIN_142->rio:VOUT8_7SEG_SEG_E pins:PIN_138->rio:VOUT8_7SEG_SEG_F pins:PIN_2->rio:VOUT8_7SEG_SEG_G pins:PIN_24->rio:sysclk rio:uart1_UART_RX->interfaceuart:UART_RX rio:uart1_UART_TX->interfaceuart:UART_TX rio:uart1_clk->interfaceuart:clk rio:uart1_rx_data->interfaceuart:rx_data rio:uart1_tx_data->interfaceuart:tx_data rio:blink1_clk->blink:clk rio:blink1_led->blink:led rio:vin_ir5_Code->vinir:Code rio:vin_ir5_clk->vinir:clk rio:vin_ir5_ir->vinir:ir rio:vin_ps26_clk->vinps2:clk rio:vin_ps26_code->vinps2:code rio:vin_ps26_ps2_clk->vinps2:ps2_clk rio:vin_ps26_ps2_data->vinps2:ps2_data rio:vin_tlc549c7_adc_clk->vintlc549c:adc_clk rio:vin_tlc549c7_adc_cs_n->vintlc549c:adc_cs_n rio:vin_tlc549c7_adc_data->vintlc549c:adc_data rio:vin_tlc549c7_adc_data_in->vintlc549c:adc_data_in rio:vin_tlc549c7_clk->vintlc549c:clk vout7seg vout_7seg PORTS clk displayA displayB displayC displayD displayE displayF displayG en1 en2 en3 en4 value[31:0] bin2bcd1     ss1 vout_7seg.v rio:vout_7seg8_clk->vout7seg:clk rio:vout_7seg8_displayA->vout7seg:displayA rio:vout_7seg8_displayB->vout7seg:displayB rio:vout_7seg8_displayC->vout7seg:displayC rio:vout_7seg8_displayD->vout7seg:displayD rio:vout_7seg8_displayE->vout7seg:displayE rio:vout_7seg8_displayF->vout7seg:displayF rio:vout_7seg8_displayG->vout7seg:displayG rio:vout_7seg8_en1->vout7seg:en1 rio:vout_7seg8_en2->vout7seg:en2 rio:vout_7seg8_en3->vout7seg:en3 rio:vout_7seg8_en4->vout7seg:en4 rio:vout_7seg8_value->vout7seg:value voutfrequency vout_frequency PORTS SIGNAL clk disabled frequency[31:0] vout_frequency.v rio:vout_frequency4_SIGNAL->voutfrequency:SIGNAL rio:vout_frequency4_clk->voutfrequency:clk rio:vout_frequency4_disabled->voutfrequency:disabled rio:vout_frequency4_frequency->voutfrequency:frequency
G interfaceuart interface_uart PORTS UART_RX UART_TX clk rx_data[135:0] tx_data[135:0] uart_rx1     uart_tx1 interface_uart.v blink blink PORTS clk led blink.v vinir vin_ir PORTS Code[7:0] clk ir vin_ir.v vinps2 vin_ps2 PORTS clk code[15:0] ps2_clk ps2_data vin_ps2.v vintlc549c vin_tlc549c PORTS adc_clk adc_cs_n adc_data[7:0] adc_data_in clk vin_tlc549c.v pins PINS output PIN_3 input PIN_87 output PIN_86 input PIN_88 input PIN_91 input PIN_90 input PIN_89 input PIN_132 input PIN_99 input PIN_98 output PIN_129 input PIN_128 output PIN_127 output PIN_85 output PIN_137 output PIN_135 output PIN_136 output PIN_133 output PIN_143 output PIN_144 output PIN_1 output PIN_141 output PIN_142 output PIN_138 output PIN_2 input PIN_24 rio rio PORTS BLINK_LED INTERFACE_UART_RX INTERFACE_UART_TX SW_S1 SW_S2 SW_S3 SW_S4 VIN5_IR VIN6_CLK VIN6_DATA VIN7_CS VIN7_MISO VIN7_SCLK VOUT4_FREQUENCY VOUT8_7SEG_EN1 VOUT8_7SEG_EN2 VOUT8_7SEG_EN3 VOUT8_7SEG_EN4 VOUT8_7SEG_SEG_A VOUT8_7SEG_SEG_B VOUT8_7SEG_SEG_C VOUT8_7SEG_SEG_D VOUT8_7SEG_SEG_E VOUT8_7SEG_SEG_F VOUT8_7SEG_SEG_G sysclk blink1 sysclk BLINK_LED     uart1 INTERFACE_UART_RX INTERFACE_UART_TX sysclk rx_data tx_data     vin_ir5 PV5 sysclk VIN5_IR     vin_ps26 sysclk PV6 VIN6_CLK VIN6_DATA     vin_tlc549c7 VIN7_SCLK VIN7_CS PV7 VIN7_MISO sysclk     vout_7seg8 sysclk VOUT8_7SEG_SEG_A VOUT8_7SEG_SEG_B VOUT8_7SEG_SEG_C VOUT8_7SEG_SEG_D VOUT8_7SEG_SEG_E VOUT8_7SEG_SEG_F VOUT8_7SEG_SEG_G VOUT8_7SEG_EN1 VOUT8_7SEG_EN2 VOUT8_7SEG_EN3 VOUT8_7SEG_EN4 SP8     vout_frequency4 VOUT4_FREQUENCY sysclk INTERFACE_TIMEOUT SOUND rio.v pins:PIN_3->rio:BLINK_LED pins:PIN_87->rio:INTERFACE_UART_RX pins:PIN_86->rio:INTERFACE_UART_TX pins:PIN_88->rio:SW_S1 pins:PIN_91->rio:SW_S2 pins:PIN_90->rio:SW_S3 pins:PIN_89->rio:SW_S4 pins:PIN_132->rio:VIN5_IR pins:PIN_99->rio:VIN6_CLK pins:PIN_98->rio:VIN6_DATA pins:PIN_129->rio:VIN7_CS pins:PIN_128->rio:VIN7_MISO pins:PIN_127->rio:VIN7_SCLK pins:PIN_85->rio:VOUT4_FREQUENCY pins:PIN_137->rio:VOUT8_7SEG_EN1 pins:PIN_135->rio:VOUT8_7SEG_EN2 pins:PIN_136->rio:VOUT8_7SEG_EN3 pins:PIN_133->rio:VOUT8_7SEG_EN4 pins:PIN_143->rio:VOUT8_7SEG_SEG_A pins:PIN_144->rio:VOUT8_7SEG_SEG_B pins:PIN_1->rio:VOUT8_7SEG_SEG_C pins:PIN_141->rio:VOUT8_7SEG_SEG_D pins:PIN_142->rio:VOUT8_7SEG_SEG_E pins:PIN_138->rio:VOUT8_7SEG_SEG_F pins:PIN_2->rio:VOUT8_7SEG_SEG_G pins:PIN_24->rio:sysclk rio:uart1_UART_RX->interfaceuart:UART_RX rio:uart1_UART_TX->interfaceuart:UART_TX rio:uart1_clk->interfaceuart:clk rio:uart1_rx_data->interfaceuart:rx_data rio:uart1_tx_data->interfaceuart:tx_data rio:blink1_clk->blink:clk rio:blink1_led->blink:led rio:vin_ir5_Code->vinir:Code rio:vin_ir5_clk->vinir:clk rio:vin_ir5_ir->vinir:ir rio:vin_ps26_clk->vinps2:clk rio:vin_ps26_code->vinps2:code rio:vin_ps26_ps2_clk->vinps2:ps2_clk rio:vin_ps26_ps2_data->vinps2:ps2_data rio:vin_tlc549c7_adc_clk->vintlc549c:adc_clk rio:vin_tlc549c7_adc_cs_n->vintlc549c:adc_cs_n rio:vin_tlc549c7_adc_data->vintlc549c:adc_data rio:vin_tlc549c7_adc_data_in->vintlc549c:adc_data_in rio:vin_tlc549c7_clk->vintlc549c:clk vout7seg vout_7seg PORTS clk displayA displayB displayC displayD displayE displayF displayG en1 en2 en3 en4 value[31:0] bin2bcd1     ss1 vout_7seg.v rio:vout_7seg8_clk->vout7seg:clk rio:vout_7seg8_displayA->vout7seg:displayA rio:vout_7seg8_displayB->vout7seg:displayB rio:vout_7seg8_displayC->vout7seg:displayC rio:vout_7seg8_displayD->vout7seg:displayD rio:vout_7seg8_displayE->vout7seg:displayE rio:vout_7seg8_displayF->vout7seg:displayF rio:vout_7seg8_displayG->vout7seg:displayG rio:vout_7seg8_en1->vout7seg:en1 rio:vout_7seg8_en2->vout7seg:en2 rio:vout_7seg8_en3->vout7seg:en3 rio:vout_7seg8_en4->vout7seg:en4 rio:vout_7seg8_value->vout7seg:value voutfrequency vout_frequency PORTS SIGNAL clk disabled frequency[31:0] vout_frequency.v rio:vout_frequency4_SIGNAL->voutfrequency:SIGNAL rio:vout_frequency4_clk->voutfrequency:clk rio:vout_frequency4_disabled->voutfrequency:disabled rio:vout_frequency4_frequency->voutfrequency:frequency

Child-Modules

blink1: blink
uart1: interface_uart
vin_ir5: vin_ir
vin_ps26: vin_ps2
vin_tlc549c7: vin_tlc549c
vout_7seg8: vout_7seg
vout_frequency4: vout_frequency


Source

Filename: rio.v
12 module rio (
13         output BLINK_LED,
14         input SW_S1,
15         input SW_S2,
16         input SW_S3,
17         input SW_S4,
18         input INTERFACE_UART_RX,
19         output INTERFACE_UART_TX,
20         input sysclk,
21         input VIN5_IR,
22         input VIN6_CLK,
23         input VIN6_DATA,
24         input VIN7_MISO,
25         output VIN7_SCLK,
26         output VIN7_CS,
27         output VOUT8_7SEG_EN1,
28         output VOUT8_7SEG_EN2,
29         output VOUT8_7SEG_EN3,
30         output VOUT8_7SEG_EN4,
31         output VOUT8_7SEG_SEG_A,
32         output VOUT8_7SEG_SEG_B,
33         output VOUT8_7SEG_SEG_C,
34         output VOUT8_7SEG_SEG_D,
35         output VOUT8_7SEG_SEG_E,
36         output VOUT8_7SEG_SEG_F,
37         output VOUT8_7SEG_SEG_G,
38         output VOUT4_FREQUENCY
39     );
40 
41 
42     reg ESTOP = 0;
43     wire ERROR;
44     wire INTERFACE_TIMEOUT;
45     assign ERROR = (INTERFACE_TIMEOUT | ESTOP);
46     blink #(24000000) blink1 (
47         .clk (sysclk),
48         .led (BLINK_LED)
49     );
50 
51     parameter BUFFER_SIZE = 136;
52 
53     wire[135:0] rx_data;
54     wire[135:0] tx_data;
55 
56     reg signed [31:0] header_tx;
57     always @(posedge sysclk) begin
58         if (ESTOP) begin
59             header_tx <= 32'h65737470;
60         end else begin
61             header_tx <= 32'h64617461;
62         end
63     end
64 
65     // vouts 2
66     wire signed [31:0] SP8;
67     wire signed [31:0] SOUND;
68 
69     // vins 3
70     wire signed [31:0] PV6;
71     wire signed [31:0] PV7;
72     wire signed [31:0] PV5;
73 
74     // rx_data 104
75     wire [31:0] header_rx;
76     assign header_rx = {rx_data[111:104], rx_data[119:112], rx_data[127:120], rx_data[135:128]};
77     assign SP8 = {rx_data[79:72], rx_data[87:80], rx_data[95:88], rx_data[103:96]};
78     assign SOUND = {rx_data[47:40], rx_data[55:48], rx_data[63:56], rx_data[71:64]};
79     // assign DOUTx = rx_data[39];
80     // assign DOUTx = rx_data[38];
81     // assign DOUTx = rx_data[37];
82     // assign DOUTx = rx_data[36];
83     // assign DOUTx = rx_data[35];
84     // assign DOUTx = rx_data[34];
85     // assign DOUTx = rx_data[33];
86     // assign DOUTx = rx_data[32];
87     // tx_data 136
88     assign tx_data = {
89         header_tx[7:0], header_tx[15:8], header_tx[23:16], header_tx[31:24],
90         PV6[7:0], PV6[15:8], PV6[23:16], PV6[31:24],
91         PV7[7:0], PV7[15:8], PV7[23:16], PV7[31:24],
92         PV5[7:0], PV5[15:8], PV5[23:16], PV5[31:24],
93         ~SW_S1, ~SW_S2, ~SW_S3, ~SW_S4, 1'd0, 1'd0, 1'd0, 1'd0
94     };
95 
96     // vin_ps2
97     vin_ps2 #(24) vin_ps26 (
98         .clk (sysclk),
99         .code (PV6),
100         .ps2_clk (VIN6_CLK),
101         .ps2_data (VIN6_DATA)
102     );
103 
104     // vin_tlc549c
105     vin_tlc549c #(24) vin_tlc549c7 (
106         .clk (sysclk),
107         .adc_data (PV7),
108         .adc_data_in (VIN7_MISO),
109         .adc_clk (VIN7_SCLK),
110         .adc_cs_n (VIN7_CS)
111     );
112 
113     // vout_7seg
114     vout_7seg vout_7seg8 (
115         .clk (sysclk),
116         .value (SP8),
117         .en1 (VOUT8_7SEG_EN1),
118         .en2 (VOUT8_7SEG_EN2),
119         .en3 (VOUT8_7SEG_EN3),
120         .en4 (VOUT8_7SEG_EN4),
121         .displayA (VOUT8_7SEG_SEG_A),
122         .displayB (VOUT8_7SEG_SEG_B),
123         .displayC (VOUT8_7SEG_SEG_C),
124         .displayD (VOUT8_7SEG_SEG_D),
125         .displayE (VOUT8_7SEG_SEG_E),
126         .displayF (VOUT8_7SEG_SEG_F),
127         .displayG (VOUT8_7SEG_SEG_G)
128     );
129 
130     // vout_frequency
131     vout_frequency vout_frequency4 (
132         .clk (sysclk),
133         .frequency (SOUND),
134         .disabled (ERROR),
135         .SIGNAL (VOUT4_FREQUENCY)
136     );
137 
138     // interface_uart
139     assign INTERFACE_TIMEOUT = 0;
140     interface_uart #(BUFFER_SIZE, 32'h74697277, 32'd12000000, 48000000, 1000000) uart1 (
141         .clk (sysclk),
142         .UART_RX (INTERFACE_UART_RX),
143         .UART_TX (INTERFACE_UART_TX),
144         .rx_data (rx_data),
145         .tx_data (tx_data)
146     );
147 
148     // vin_ir
149     vin_ir #(24) vin_ir5 (
150         .clk (sysclk),
151         .Code (PV5),
152         .ir (VIN5_IR)
153     );
154 endmodule