Guest User

Untitled

a guest
Jan 22nd, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. module traffic_lights_top(Clk,
  2. SN_CI, WE_CI,
  3. SN_PI, WE_PI,
  4. SN_CL, WE_CL,
  5. SN_PL, WE_PL,
  6. SN_TJ, WE_TJ,
  7. Count);
  8.  
  9. input Clk;
  10. input SN_CI, WE_CI;
  11. input SN_PI, WE_PI;
  12. input[3:0] SN_TJ, WE_TJ;
  13. output[2:0] SN_CL, WE_CL;
  14. output[2:0] SN_PL, WE_PL;
  15. output[6:0] Count;
  16.  
  17. // 15 // 19 // 34 // 38
  18. parameter SEC1_nt = 7'b0001111, SEC2_nt = 7'b0010011, SEC3_nt = 7'b0100010, SEC4_nt = 7'b0100110; // time for each light in non traffic times
  19. // 30 // 38 // 68 // 76
  20. parameter SEC1_t = 7'b0011110, SEC2_t = 7'b0100110, SEC3_t = 7'b1000100, SEC4_t = 7'b1001100; // time for each light in traffic times
  21.  
  22. //traffic t1(Clk,SN_CI,WE_CI,SN_PI,WE_PI,SN_CL,WE_CL,SN_PL,WE_PL,Count);
  23.  
  24. generate
  25. case({SN_TJ, WE_TJ})
  26. {4'b1111,4'b0000}:
  27. begin
  28. traffic SN_t(Clk,SN_CI,WE_CI,SN_PI,WE_PI,SN_CL,WE_CL,SN_PL,WE_PL,Count);
  29. defparam SN_t.SEC1 = 7'b0000000;
  30. defparam SN_t.SEC2 = SEC2_t;
  31. defparam SN_t.SEC3 = SEC3_nt;
  32. defparam SN_t.SEC4 = SEC4_nt;
  33. end
  34.  
  35. {4'b0000,4'b1111}:
  36. begin
  37. traffic WE_t(Clk,SN_CI,WE_CI,SN_PI,WE_PI,SN_CL,WE_CL,SN_PL,WE_PL,Count);
  38. defparam WE_t.SEC1=SEC1_nt;
  39. defparam WE_t.SEC2=SEC2_nt;
  40. defparam WE_t.SEC3=SEC3_t;
  41. defparam WE_t.SEC4=SEC4_t;
  42. end
  43.  
  44. default:
  45. begin
  46. traffic same_t(Clk,SN_CI,WE_CI,SN_PI,WE_PI,SN_CL,WE_CL,SN_PL,WE_PL,Count);
  47. defparam same_t.SEC1=SEC1_nt;
  48. defparam same_t.SEC2=SEC2_nt;
  49. defparam same_t.SEC3=SEC3_nt;
  50. defparam same_t.SEC4=SEC4_nt;
  51. end
  52. endcase
  53. endgenerate
  54.  
  55. endmodule
Add Comment
Please, Sign In to add comment