- begin
- uart_send(8'h01); // Write command
- uart_send(8'h01); // Length
- uart_send(address[31:24]); // Address
- uart_send(address[23:16]);
- uart_send(address[15:8]);
- uart_send(address[7:0]);
- uart_send(value[31:24]);
- uart_send(value[23:16]);
- uart_send(value[15:8]);
- uart_send(value[7:0]);
- end
+ begin
+ uart_send(8'h01); // Write command
+ uart_send(8'h01); // Length
+ uart_send(address[31:24]); // Address
+ uart_send(address[23:16]);
+ uart_send(address[15:8]);
+ uart_send(address[7:0]);
+ uart_send(value[31:24]);
+ uart_send(value[23:16]);
+ uart_send(value[15:8]);
+ uart_send(value[7:0]);
+ end
+ endtask
+
+ task wishbone_read;
+ input [31:0] address;
+ output [31:0] value;
+
+ begin
+ uart_send(8'h02); // Read command
+ uart_send(8'h01); // Length
+ uart_send(address[31:24]); // Address
+ uart_send(address[23:16]);
+ uart_send(address[15:8]);
+ uart_send(address[7:0]);
+ uart_read(value[31:24]);
+ uart_read(value[23:16]);
+ uart_read(value[15:8]);
+ uart_read(value[7:0]);
+ end