Freeze_cntr - david-macmahon/wiki_convert_test GitHub Wiki
Block: Freeze Counter Block (freeze_cntr)
Block Author: Aaron Parsons
Document Author: Aaron Parsons
Summary
A freeze counter is an enabled counter which holds its final value (regardless of enables) until it is reset.
Mask Parameters
| Parameter | Variable | Description | 
|---|---|---|
| Counter Length (2(^?)) | CounterBits | Specifies the number of bits (and the final count output of (2^{bits-1})). | 
Ports
| Port | Dir | Data Type | Description | 
|---|---|---|---|
| en | in | ??? | Step the counter by 1 unless addr=(2^{bits-1}). | 
| rst | in | ??? | Reset counter to 0. | 
| addr | out | ??? | Current output of the counter. | 
| we | out | Boolean | Outputs boolean true just before addr is incremented. | 
| done | out | Boolean | Outputs boolean true when a final en is asserted and addr=(2^{bits-1}). | 
Description
A freeze counter is an enabled counter which holds its final value (regardless of enables) until it is reset. Thus, a (2^5) freeze counter will count from 0 to 31 on 31 enables, but will hold 31 thereafter until a reset occurs. This block is useful for writing data in a single pass to memory without looping.