CDL Modules
jtag.h
Go to the documentation of this file.
1 include "apb.h"
2 
3 typedef struct {
4  bit ntrst;
5  bit tms;
6  bit tdi;
7 } t_jtag;
8 
9 typedef enum [2] {
15 
16 extern module jtag_tap( clock jtag_tck,
17  input bit reset_n,
18  input t_jtag jtag,
19  output bit tdo,
20 
21  output bit[5]ir,
22  output t_jtag_action dr_action,
23  output bit[50]dr_in,
24  input bit[50]dr_tdi_mask,
25  input bit[50]dr_out
26  )
27 {
28  timing to rising clock jtag_tck jtag, dr_tdi_mask, dr_out;
29  timing from rising clock jtag_tck tdo, ir, dr_action, dr_in;
30 }
31 
32 extern module jtag_apb( clock jtag_tck,
33  input bit reset_n,
34 
35  input bit[5]ir,
36  input t_jtag_action dr_action,
37  input bit[50]dr_in,
38  output bit[50]dr_tdi_mask,
39  output bit[50]dr_out,
40 
41  clock apb_clock,
42  output t_apb_request apb_request,
43  input t_apb_response apb_response
44  )
45 {
46  timing to rising clock jtag_tck ir, dr_action, dr_in;
47  timing from rising clock jtag_tck dr_tdi_mask, dr_out;
48  timing from rising clock apb_clock apb_request;
49  timing to rising clock apb_clock apb_response;
50  timing comb input dr_in, dr_action, ir;
51  timing comb output dr_out, dr_tdi_mask;
52 }
Definition: jtag.h:12
Definition: jtag.h:10
Definition: apb.h:26
Definition: jtag.h:13
bit ntrst
Definition: jtag.h:4
Definition: apb.h:35
Definition: jtag.h:3
bit tms
Definition: jtag.h:5
module jtag_tap(clock jtag_tck, input bit reset_n, input t_jtag jtag, output bit tdo, output bit[5]ir, output t_jtag_action dr_action, output bit[50]dr_in, input bit[50]dr_tdi_mask, input bit[50]dr_out)
Definition: jtag.h:16
module jtag_apb(clock jtag_tck, input bit reset_n, input bit[5]ir, input t_jtag_action dr_action, input bit[50]dr_in, output bit[50]dr_tdi_mask, output bit[50]dr_out, clock apb_clock, output t_apb_request apb_request, input t_apb_response apb_response)
Definition: jtag.h:32
Definition: jtag.h:11
bit tdi
Definition: jtag.h:6
t_jtag_action
Definition: jtag.h:9