Calculating the Maximum freqency of operation of a sequential machine

  • Thread starter Thread starter Anne Peter
  • Start date Start date
  • Tags Tags
    Machine Maximum
AI Thread Summary
To calculate the maximum frequency of operation for a sequential machine using a GAL22LV10, it is essential to consider propagation delay and setup time from the data sheet. Depending on the speed grade of the GAL22LV10, relevant values can be found on either page 7 (for 4ns and 5ns grades) or page 9 (for slower grades). The discussion also highlights the importance of having a complete state transition diagram and ensuring all states lead to known outcomes, particularly the reset state. Participants emphasize the need for users to derive their own timing equations based on the provided parameters rather than receiving direct answers. Overall, understanding the timing constraints and state management is crucial for successful implementation.
Anne Peter
Messages
4
Reaction score
0
I have to implement a sequential machine to resolve 4-bit security code . I have to use a GAL22LV10 to implement it. I've given the GAL22LV10 Circuit diagram & part of the data sheet.
http://www.latticesemi.com/lit/docs/datasheets/pal_gal/22lv10.pdf?jsessionid=f030cc1ab4d2cec7eb8f5b38511252251a52"

The above link provides the complete data sheet. But in the question paper only the paged 5,7&9 are given.

I have to calculate the maximum frequency in which the machine can operate.

How to find the total delay in order to get the max frequency?
I know I have to consider the propagation delay & set up time.
Can you please send me what are the values from the data sheet I have to use to find the max delay?

Also in which page I have to refer? (Page 7 or 9)? What's the different between them?

Could anyone please help me to solve this problem?

Thanks in Advance
 
Last edited by a moderator:
Physics news on Phys.org
Anne Peter said:
I have to implement a sequential machine to resolve 4-bit security code . I have to use a GAL22LV10 to implement it. I've given the GAL22LV10 Circuit diagram & part of the data sheet.
http://www.latticesemi.com/lit/docs/datasheets/pal_gal/22lv10.pdf?jsessionid=f030cc1ab4d2cec7eb8f5b38511252251a52"

The above link provides the complete data sheet. But in the question paper only the paged 5,7&9 are given.

I have to calculate the maximum frequency in which the machine can operate.

How to find the total delay in order to get the max frequency?
I know I have to consider the propagation delay & set up time.
Can you please send me what are the values from the data sheet I have to use to find the max delay?

Also in which page I have to refer? (Page 7 or 9)? What's the different between them?

Could anyone please help me to solve this problem?

Thanks in Advance

Welcome to the PF, Anne. You will use numbers from either page 7 or 9, depending on the speed grade of the part that you choose. The numbers for the 4ns and 5ns speed grades are on page 7, and the slower speed grades are on page 9. If you want to run as fast as possible, you will choose the 4ns speed grade parts.

Can you post the state diagram for your state machine? How complicated is it? Do you have to do any synchronization of external asynchronous signals, or are the input bits already synchronized to the external input clock?

Based on your state diagram and the GAL array implementation, you will use the delay numbers and setup and hold numbers to calculate how fast you can run the external clock.
 
Last edited by a moderator:
Thank you very much Berkeman, for your quick response.


This is my state transition table:
(I have attached an image also)

PS
(y2y1y0) Next State FF Output(D2D1D0)
X=0 X=1 X=0 X=1
000 100 001 100 001
001 010 101 010 101
010 110 011 110 011
011 000 000 000 000
100 101 101 101 101
101 110 110 110 110
110 000 000 000 000
111 xxx xxx xxx xxx

And the simplified ff inputs are:
D2=xy0y1'+x'y0'y2'+y1'y2
D1=x'y0y1'+y0'y1y2'+y0'y2
D0=xy0y1y2'+xy1'y2'+y0'y1'y2

o/p= x'y0y1

Can you also please clarify me which modes to use for S1,S0 of the OLMC if I implement the array for D0 but not for D0' etc
Is it S0S1=10 ?

What are the facts I have to consider when marking the points in the GAL Logic diagram.
Is the diagram which I marked & attached here is correct?

Your help would be highly appreciated.

Thank you.
 

Attachments

  • stt.JPG
    stt.JPG
    32.6 KB · Views: 428
  • diagram.JPG
    diagram.JPG
    66.3 KB · Views: 431
I'll look at your questions in more detail later when I have time, but a couple quick thoughts:

** It would be helpful to show a state transition diagram, with the states labelled as to what they mean/are. You should also explicitly show that a reset vectors you to the 000 state.

** The 111 state should also vector to a known state, preferably the reset state. Don't ever leave states with nowhere to go, even if you never expect to get into them.
 
Here's the original question & the steps I followed to get the answer
 

Attachments

  • questn.JPG
    questn.JPG
    62.7 KB · Views: 409
  • STD.JPG
    STD.JPG
    21.4 KB · Views: 444
  • State Trasition Table.JPG
    State Trasition Table.JPG
    21.2 KB · Views: 443
Here're the rest
 

Attachments

  • Reduced STD.JPG
    Reduced STD.JPG
    16.1 KB · Views: 407
  • Reduced State Transition Table.JPG
    Reduced State Transition Table.JPG
    16.1 KB · Views: 504
You didn't address the questions/points that I asked in my post #4.

In addition, you need to post what you think the correct equations are for determining how fast you can run the clock. We do not give you the answers here. We are here to offer hints (and leading questions like I've offered) to help you answer your homework/coursework questions on your own.

EDIT -- Actually, the timing "equations" are inequalities. Quiz Question -- why?
 
Back
Top