Architecture of AD7417 model.
More...
List of all members.
Functions |
| | slv2str ( constant v: in ) |
| | Convert std_logic_vector to a string.
|
Processes |
| start_condition | ( sda_in_i , scl_in_i ) |
| | Tristate buffers.
|
| stop_condition | ( sda_in_i , scl_in_i ) |
| | Detect stop condition - that is, that the data line goes high while the clock line isn't low.
|
| count_clks | ( scl_in_i , start_i , stop_i ) |
| | Count clock edges.
|
| buffer_it | ( start_i , stop_i , cnt_i ) |
| | Buffer data.
|
| update_state | ( scl_in_i , stop_i ) |
| | Update the state.
|
| fsm | ( start_i , stop_i , st_i , cnt_i ) |
| | Get the next state.
|
| decode | ( data_i , start_i ) |
| | Decode the instructions.
|
Constants |
| result_i | channel_t := ( 0 = > T , 1 = > ADC1 , 2 = > ADC2 , 3 = > ADC3 , 4 = > ADC4 ) |
| ME | ( 6 downto 0 ) := ( VENDOR &ADD ) |
| | channels our addr.
|
Types |
| channel_t | array ( 0 to 4 ) of ( 15 downto 0 ) |
| | channel
|
| state | ( idle , start , who , addressed , ack , read_data , write_data , ack_master ) |
Signals |
| scl_sel_in_i | |
| | Tri-state select.
|
| scl_sel_out_i | := false |
| | Tri-state select.
|
| scl_in_i | |
| | Clock input.
|
| scl_out_i | := ' 1 ' |
| | Clock output.
|
| sda_sel_in_i | |
| | Tri-state select.
|
| sda_sel_out_i | := false |
| | Tri-state select.
|
| sda_in_i | |
| | Data input.
|
| sda_out_i | := ' 1 ' |
| | Data output.
|
| add_i | ( 6 downto 0 ) := ( others = > ' 0 ' ) |
| data_i | ( 7 downto 0 ) := ( others = > ' 0 ' ) |
| rw_i | := false |
| | Read-not-write.
|
| start_i | := ' 0 ' |
| | Start condition.
|
| stop_i | := ' 0 ' |
| | Stop condition.
|
| cnt_i | := 8 |
| | Counter.
|
| buffer_i | ( 7 downto 0 ) |
| | buffer
|
| ptr_i | |
| | Address pointer.
|
| no_ack_i | := false |
| | No acknowledge from master.
|
| nx_st | state |
| | State types Next state.
|
| st_i | state |
| | This state.
|
Detailed Description
Architecture of AD7417 model.
Member Function Documentation
| buffer_it | |
( start_i , |
|
|
stop_i , |
|
|
cnt_i ) |
[Process]
Buffer data.
- Parameters:
-
| start_i | Start condition |
| stop_i | Stop condition. |
| cnt_i | Counter |
| count_clks | |
( scl_in_i , |
|
|
start_i , |
|
|
stop_i ) |
[Process]
Count clock edges.
- Parameters:
-
| scl_in_i | Serial clock |
| start_i | Start condition |
| stop_i | Stop condition. Increments counter on each rising clock edge |
| decode | |
( data_i , |
|
|
start_i ) |
[Process]
Decode the instructions.
- Parameters:
-
| data_i | Buffer of data |
| start_i | Start condition |
- Returns:
- return_i If we saw CFG1 address If we saw a PTR address Counter Base
| fsm | |
( start_i , |
|
|
stop_i , |
|
|
st_i , |
|
|
cnt_i ) |
[Process]
Get the next state.
- Parameters:
-
| start_i | Start condition |
| stop_i | Stop condition. |
| cnt_i | Counter |
| st_i | The state |
- Returns:
- the next state
| slv2str | |
(constant v in std_logic_vector ) |
[Function]
Convert std_logic_vector to a string.
- Parameters:
-
- Returns:
- String representation of v
| start_condition | |
( sda_in_i , |
|
|
scl_in_i ) |
[Process]
Tristate buffers.
Detect start condtion - that is, that the data line transition from low to high, while the clock line isn't low.
- Parameters:
-
| sda_in_i | Serial data input |
| scl_in_i | Serial clock |
| stop_condition | |
( sda_in_i , |
|
|
scl_in_i ) |
[Process]
Detect stop condition - that is, that the data line goes high while the clock line isn't low.
- Parameters:
-
| sda_in_i | Serial data input |
| scl_in_i | Serial clock |
| update_state | |
( scl_in_i , |
|
|
stop_i ) |
[Process]
Update the state.
- Parameters:
-
| scl_in_i | Serial clock |
| stop_i | Stop condition. |
- Returns:
- the state
Member Data Documentation
add_i ( 6 downto 0 ) := ( others = > ' 0 ' ) [Signal] |
channel_t array ( 0 to 4 ) of ( 15 downto 0 ) [Type] |
data_i ( 7 downto 0 ) := ( others = > ' 0 ' ) [Signal] |
No acknowledge from master.
state ( idle , start , who , addressed , ack , read_data , write_data , ack_master ) [Type] |
The documentation for this class was generated from the following file: