start adding parallel ATA stuff

This commit is contained in:
Brendan Haines 2023-01-23 18:26:44 -07:00
parent 51103c378d
commit 5cb8b7dd77
2 changed files with 74 additions and 0 deletions

53
lib/axil_ata.sv Normal file
View File

@ -0,0 +1,53 @@
module axil_ata(
///// AXI4-Lite Slave /////
// Write address
input logic axil_awvalid,
output logic axil_awready,
input logic [ADDR_WIDTH-1:0] axil_awaddr,
input logic [2:0] axil_awprot,
// Write data
input logic axil_wvalid,
output logic axil_wready,
input logic [DATA_WIDTH-1:0] axil_wdata,
input logic [DATA_WIDTH/8 - 1:0] axil_wstrb,
// Write response
output logic axil_bvalid,
input logic axil_bready,
output logic [1:0] axil_bresp,
// Read address
input logic axil_arvalid,
output logic axil_arready,
input logic [ADDR_WIDTH-1:0] axil_araddr,
input logic [2:0] axil_arprot,
// Read data
output logic axil_rvalid,
input logic axil_rready,
output logic [DATA_WIDTH-1:0] axil_rdata,
output logic [1:0] axil_rresp,
///// Parallel ATA Master /////
output logic ata_n_reset, // reset
inout wire [15:0] ata_data, // data
output logic ata_n_diow, // write strobe
output logic ata_n_dior, // read strobe
input wire ata_iordy, //
input wire ata_irq, // interrupt request
output logic [2:0] ata_addr, // address
output logic [1:0] ata_n_cs, // chip select
input wire ata_activity, // LED driver
xx wire ata_cable_select, //
xx wire ata_dmarq, // DMA request
xx wire ata_ddack, // DMA acknowledge
xx wire ata_gpio_dma66_detect, //
xx wire ata_n_iocs16 // IO ChipSelect 16
);
endmodule

21
lib/tb/axil_ata_tb.sv Normal file
View File

@ -0,0 +1,21 @@
`include "bh_assert.sv"
`timescale 1ns/1ps
import bh_assert::bh_assert_equal;
import bh_assert::bh_assert_stats;
import bh_assert::bh_info;
module axil_ata_tb();
axil_ata dut();
initial begin
$dumpfile("axil_ata_tb.vcd");
$dumpvars(0, axil_ata_tb);
#10
bh_assert_stats();
$finish;
end
endmodule