Line 29... |
Line 29... |
//
|
//
|
// *Author(s):
|
// *Author(s):
|
// - Olivier Girard, olgirard@gmail.com
|
// - Olivier Girard, olgirard@gmail.com
|
//
|
//
|
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
// $Rev: 103 $
|
// $Rev: 106 $
|
// $LastChangedBy: olivier.girard $
|
// $LastChangedBy: olivier.girard $
|
// $LastChangedDate: 2011-03-05 15:44:48 +0100 (Sat, 05 Mar 2011) $
|
// $LastChangedDate: 2011-03-25 23:01:03 +0100 (Fri, 25 Mar 2011) $
|
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
`ifdef OMSP_NO_INCLUDE
|
`ifdef OMSP_TA_NO_INCLUDE
|
`else
|
`else
|
`include "openMSP430_defines.v"
|
`include "omsp_timerA_defines.v"
|
`endif
|
`endif
|
|
|
module omsp_timerA (
|
module omsp_timerA (
|
|
|
// OUTPUTs
|
// OUTPUTs
|
Line 60... |
Line 60... |
irq_ta0_acc, // Interrupt request TACCR0 accepted
|
irq_ta0_acc, // Interrupt request TACCR0 accepted
|
mclk, // Main system clock
|
mclk, // Main system clock
|
per_addr, // Peripheral address
|
per_addr, // Peripheral address
|
per_din, // Peripheral data input
|
per_din, // Peripheral data input
|
per_en, // Peripheral enable (high active)
|
per_en, // Peripheral enable (high active)
|
per_wen, // Peripheral write enable (high active)
|
per_we, // Peripheral write enable (high active)
|
puc, // Main system reset
|
puc, // Main system reset
|
smclk_en, // SMCLK enable (from CPU)
|
smclk_en, // SMCLK enable (from CPU)
|
ta_cci0a, // Timer A capture 0 input A
|
ta_cci0a, // Timer A capture 0 input A
|
ta_cci0b, // Timer A capture 0 input B
|
ta_cci0b, // Timer A capture 0 input B
|
ta_cci1a, // Timer A capture 1 input A
|
ta_cci1a, // Timer A capture 1 input A
|
Line 94... |
Line 94... |
input irq_ta0_acc; // Interrupt request TACCR0 accepted
|
input irq_ta0_acc; // Interrupt request TACCR0 accepted
|
input mclk; // Main system clock
|
input mclk; // Main system clock
|
input [7:0] per_addr; // Peripheral address
|
input [7:0] per_addr; // Peripheral address
|
input [15:0] per_din; // Peripheral data input
|
input [15:0] per_din; // Peripheral data input
|
input per_en; // Peripheral enable (high active)
|
input per_en; // Peripheral enable (high active)
|
input [1:0] per_wen; // Peripheral write enable (high active)
|
input [1:0] per_we; // Peripheral write enable (high active)
|
input puc; // Main system reset
|
input puc; // Main system reset
|
input smclk_en; // SMCLK enable (from CPU)
|
input smclk_en; // SMCLK enable (from CPU)
|
input ta_cci0a; // Timer A capture 0 input A
|
input ta_cci0a; // Timer A capture 0 input A
|
input ta_cci0b; // Timer A capture 0 input B
|
input ta_cci0b; // Timer A capture 0 input B
|
input ta_cci1a; // Timer A capture 1 input A
|
input ta_cci1a; // Timer A capture 1 input A
|
Line 155... |
Line 155... |
TAIV : reg_dec = TAIV_D;
|
TAIV : reg_dec = TAIV_D;
|
default: reg_dec = {512{1'b0}};
|
default: reg_dec = {512{1'b0}};
|
endcase
|
endcase
|
|
|
// Read/Write probes
|
// Read/Write probes
|
wire reg_write = |per_wen & per_en;
|
wire reg_write = |per_we & per_en;
|
wire reg_read = ~|per_wen & per_en;
|
wire reg_read = ~|per_we & per_en;
|
|
|
// Read/Write vectors
|
// Read/Write vectors
|
wire [511:0] reg_wr = reg_dec & {512{reg_write}};
|
wire [511:0] reg_wr = reg_dec & {512{reg_write}};
|
wire [511:0] reg_rd = reg_dec & {512{reg_read}};
|
wire [511:0] reg_rd = reg_dec & {512{reg_read}};
|
|
|
Line 686... |
Line 686... |
(tacctl2[`TACCIFG] & tacctl2[`TACCIE]);
|
(tacctl2[`TACCIFG] & tacctl2[`TACCIE]);
|
|
|
|
|
endmodule // omsp_timerA
|
endmodule // omsp_timerA
|
|
|
`ifdef OMSP_NO_INCLUDE
|
`ifdef OMSP_TA_NO_INCLUDE
|
`else
|
`else
|
`include "openMSP430_undefines.v"
|
`include "omsp_timerA_undefines.v"
|
`endif
|
`endif
|
|
|
No newline at end of file
|
No newline at end of file
|