CDL Modules
Data Structures | Namespaces | Enumerations
apb_processor.cdl File Reference

Pipelined APB request/response master, driven by a ROM. More...

Detailed Description

Pipelined APB request/response master, driven by a ROM.

CDL implementation of an APB master that uses a ROM to generate a set of APB requests.

Data Structures

struct  apb_processor::t_rom_state
 
struct  apb_processor::t_rom_combs
 
struct  apb_processor::t_processor_state
 
struct  apb_processor::t_processor_apb_request
 
struct  apb_processor::t_processor_combs
 
struct  apb_processor::t_apb_state
 
struct  apb_processor::t_apb_combs
 

Namespaces

 apb_processor
 

Enumerations

enum  apb_processor::t_apb_rom_opcode_class {
  apb_processor::opcode_class_alu = 0,
  apb_processor::opcode_class_set_parameter = 1,
  apb_processor::opcode_class_apb_request = 2,
  apb_processor::opcode_class_branch = 3,
  apb_processor::opcode_class_wait = 4,
  apb_processor::opcode_class_finish = 5
}
 
enum  apb_processor::t_apb_rom_opcode_subclass {
  apb_processor::rom_op_alu_or = 0,
  apb_processor::rom_op_alu_and = 1,
  apb_processor::rom_op_alu_bic = 2,
  apb_processor::rom_op_alu_xor = 3,
  apb_processor::rom_op_alu_add = 4,
  apb_processor::rom_op_set_address = 0,
  apb_processor::rom_op_set_repeat = 1,
  apb_processor::rom_op_set_accumulator = 2,
  apb_processor::rom_op_set_increment = 3,
  apb_processor::rom_op_branch = 0,
  apb_processor::rom_op_beq = 1,
  apb_processor::rom_op_bne = 2,
  apb_processor::rom_op_loop = 3,
  apb_processor::rom_op_req_read =0,
  apb_processor::rom_op_req_write_arg =1,
  apb_processor::rom_op_req_write_acc =2
}
 
enum  apb_processor::t_processor_action {
  apb_processor::processor_action_none,
  apb_processor::processor_action_set_parameter,
  apb_processor::processor_action_start_apb_request,
  apb_processor::processor_action_alu,
  apb_processor::processor_action_branch,
  apb_processor::processor_action_wait_start,
  apb_processor::processor_action_decrement_accumulator,
  apb_processor::processor_action_pending_request,
  apb_processor::processor_action_complete_wait,
  apb_processor::processor_action_finish
}
 
enum  apb_processor::t_processor_fsm_state {
  apb_processor::processor_fsm_idle,
  apb_processor::processor_fsm_apb_request,
  apb_processor::processor_fsm_wait
}
 
enum  apb_processor::t_apb_fsm_state {
  apb_processor::apb_fsm_idle,
  apb_processor::apb_fsm_select_phase,
  apb_processor::apb_fsm_enable_phase
}
 
enum  apb_processor::t_apb_action {
  apb_processor::apb_action_none,
  apb_processor::apb_action_start_apb_request_write,
  apb_processor::apb_action_start_apb_request_read,
  apb_processor::apb_action_move_to_enable_phase,
  apb_processor::apb_action_complete
}