Forum Discussion

BillP_'s avatar
BillP_
Icon for New Contributor rankNew Contributor
1 year ago

How to get state machine encoding type from TCL ::report or where?

I have enumerated reports and find them in the report panel. For a particular state machine, it says 'Encoding Type: One-Hot'. When I use get_report_panel_row, it has all the table states, but I don't know what the API is to get the 'Encoding Type'? It seems like it is report meta-data of some sort?

set panel_names [get_report_panel_names]
foreach panel_name $panel_names {
## Do match state machine.
if {[string match "Analysis & Synthesis||State Machines||State Machine - |*|state" $panel_name]} {
set num_rows [get_number_of_rows -name $panel_name]
for { set i 0 } { $i < $num_rows } { incr i } {
set row_data [get_report_panel_row -name $panel_name -row $i]
post_message [join $row_data ","]
}
}
}

I really want to test the 'Encoding Type' of the state machine to verify "One-hot".

The code above dumps the state machine transitions.

4 Replies

  • I don't fully understand what you’d like to do.

    If you want to get the Encoding Style information you can open quartus -> compilation report -> Synthesis -> Partition "root_partition" -> State machine

    And you can right click the report you want like the state machine summary and click 'export' to generate the report.


  • BillP_'s avatar
    BillP_
    Icon for New Contributor rankNew Contributor

    Yes, I can see it. I understand how to use the GUI.

    I want to use TCL and a post synthesis script to check that all state machines are one-hot.

    Ie, I want a script to be able to access "Encoding type"

    I want an answer without 'click'. Is that possible?

  • Hi there, can you upload the tcl file you currently use. Seems some error with the command copied from your previous post.


  • As we do not receive any response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.