Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fm6126 init #1

Merged
merged 5 commits into from Feb 15, 2019

Conversation

Projects
None yet
2 participants
@esden
Copy link
Contributor

commented Feb 11, 2019

Added init sequence for the LED panels that use the FM6126 and similar chips.

@kbob

This comment has been minimized.

Copy link
Owner

commented Feb 13, 2019

The variable led_driver.state was one-hot in each implementation. You modified it to be sometimes one-hot. It seems like either one-hot or binary encoded would be best, not a hybrid of the two.

Is there something I'm missing?

Thanks.

Update: I compiled the delay demo with both a true one-hot and a binary encoded state. The one-hot version has timing of 46.33 MHz, and the binary encoded version hits 51.80 MHz. So at this point I favor the binary encoded version.

    localparam SH        = 4;
    localparam S_START   = 4'd0;
    localparam S_R1      = 4'd1;
    localparam S_R1E     = 4'd2;
    localparam S_R2      = 4'd3;
    localparam S_R2E     = 4'd4;
    localparam S_SDELAY  = 4'd5;
    localparam S_SHIFT0  = 4'd6;
    localparam S_SHIFT   = 4'd7;
    localparam S_SHIFTN  = 4'd8;
    localparam S_BLANK   = 4'd9;
    localparam S_UNBLANK = 4'd10;
    // ...
    reg [SH:0] state;

esden added some commits Feb 10, 2019

Ported the init function to the other led drivers.
The free running incrementer is now kept in reset while the led driver
is initializing the display. This prevents the rendered image from
getting out of sync with the output.

@esden esden force-pushed the esden:fm6126_init branch from 8c09d19 to e3365c5 Feb 13, 2019

Converted state machine to use integer states.
Yosys seems to detect and optimize the FSM on it's own so we can write
it this way too.

@esden esden force-pushed the esden:fm6126_init branch from e3365c5 to 4c4ee7e Feb 13, 2019

@esden

This comment has been minimized.

Copy link
Contributor Author

commented Feb 13, 2019

Ok I think I made the changes you are talking about. Let me know if I missed something. :)

@kbob kbob merged commit 4c4ee7e into kbob:master Feb 15, 2019

@kbob

This comment has been minimized.

Copy link
Owner

commented Feb 15, 2019

Merged. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.