URL
https://opencores.org/ocsvn/pit/pit/trunk
Subversion Repositories pit
Compare Revisions
- This comparison shows the changes necessary to convert path
/pit/trunk
- from Rev 10 to Rev 9
- ↔ Reverse comparison
Rev 10 → Rev 9
/rtl/verilog/pit_wb_bus.v
37,12 → 37,11
// 45678901234567890123456789012345678901234567890123456789012345678901234567890 |
|
module pit_wb_bus #(parameter ARST_LVL = 1'b0, // asynchronous reset level |
parameter DWIDTH = 16, |
parameter SINGLE_CYCLE = 1'b0) |
parameter DWIDTH = 16) |
( |
// Wishbone Signals |
output reg [DWIDTH-1:0] wb_dat_o, // databus output |
output wb_ack_o, // bus cycle acknowledge output |
output reg wb_ack_o, // bus cycle acknowledge output |
input wb_clk_i, // master clock input |
input wb_rst_i, // synchronous active high reset |
input arst_i, // asynchronous reset |
62,11 → 61,9
|
|
// registers |
reg bus_wait_state; // Holdoff wb_ack_o for one clock to add wait state |
|
// Wires |
wire eight_bit_bus; |
wire wb_wacc; // WISHBONE Write Strobe |
|
// |
// module body |
79,18 → 76,11
assign sync_reset = wb_rst_i; |
|
// generate wishbone signals |
assign wb_wacc = wb_cyc_i && wb_stb_i && wb_we_i && (wb_ack_o || SINGLE_CYCLE); |
assign wb_ack_o = SINGLE_CYCLE ? wb_cyc_i && wb_stb_i : bus_wait_state; |
wire wb_wacc = wb_cyc_i & wb_stb_i & wb_we_i & wb_ack_o; |
|
// generate acknowledge output signal, By using register all accesses takes two cycles. |
// Accesses in back to back clock cycles are not possable. |
always @(posedge wb_clk_i or negedge async_rst_b) |
if (!async_rst_b) |
bus_wait_state <= 1'b0; |
else if (sync_reset) |
bus_wait_state <= 1'b0; |
else |
bus_wait_state <= wb_cyc_i && wb_stb_i && !bus_wait_state; |
// generate acknowledge output signal |
always @(posedge wb_clk_i) |
wb_ack_o <= wb_cyc_i & wb_stb_i & ~wb_ack_o; // because timing is always honored |
|
// assign data read bus -- DAT_O |
always @(posedge wb_clk_i) |
/rtl/verilog/pit_top.v
41,7 → 41,6
parameter COUNT_SIZE = 16, // Main counter size |
parameter DECADE_CNTR = 1'b1, // Prescale rollover decode |
parameter NO_PRESCALE = 1'b0, // Remove prescale function |
parameter SINGLE_CYCLE = 1'b0, // No bus wait state added |
parameter DWIDTH = 16) // Data bus width |
( |
// Wishbone Signals |
77,7 → 76,6
|
// Wishbone Bus interface |
pit_wb_bus #(.ARST_LVL(ARST_LVL), |
.SINGLE_CYCLE(SINGLE_CYCLE), |
.DWIDTH(DWIDTH)) |
wishbone( |
.wb_dat_o ( wb_dat_o ), |