Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. SUBDESIGN 'lab4'
  2. (
  3. a, b, clock: INPUT;
  4. out[3..0]: OUTPUT;
  5. )
  6. VARIABLE
  7. state: MACHINE WITH STATES (s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15);
  8.  
  9. BEGIN
  10. state.clk = clock;
  11. case state is
  12. when s0 =>
  13. out[] = B"0011";
  14. state = s1;
  15. when s1 =>
  16. out[] = B"1011";
  17. if (a==1) then
  18. state = s2;
  19. else
  20. state = s8;
  21. END if;
  22. when s2 =>
  23. out[] = B"1100";
  24. state = s3;
  25. when s3 =>
  26. out[] = B"0001";
  27. if (b==1) then
  28. state = s5;
  29. else
  30. state = s4;
  31. END if;
  32. when s4 =>
  33. out[] = B"1001";
  34. state = s6;
  35. when s5 =>
  36. out[] = B"0010";
  37. state = s6;
  38. when s6 =>
  39. out[] = B"1110";
  40. state = s7;
  41. when s7 =>
  42. out[] = B"1000";
  43. state = s13;
  44. when s8 =>
  45. out[] = B"0111";
  46. state = s9;
  47. when s9 =>
  48. out[] = B"0110";
  49. state = s10;
  50. when s10 =>
  51. out[] = B"0100";
  52. if (b==1) then
  53. state = s11;
  54. else
  55. state = s12;
  56. END if;
  57. when s11 =>
  58. out[] = B"1101";
  59. state = s7;
  60. when s12 =>
  61. out[] = B"1010";
  62. state = s7;
  63. when s13 =>
  64. out[] = B"1111";
  65. state = s14;
  66. when s14 =>
  67. out[] = B"0101";
  68. state = s15;
  69. when s15 =>
  70. out[] = B"0000";
  71. state = s0;
  72. when others =>
  73. state = s0;
  74. END case;
  75. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement