Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. module xyz(
  2. input T,clk,aclr,
  3. output reg Q);
  4.  
  5. always @(posedge clk, negedge aclr)
  6. if (!aclr) Q <= 1'b0;
  7. else if (T) Q <= ~Q;
  8. else Q <= Q;
  9. endmodule
  10.  
  11.  
  12. module xyzx(
  13. input clk,aclr,enable,
  14. output [7:0] q);
  15.  
  16. wire [7:1] c;
  17.  
  18. assign c[1] = q[0] & enable;
  19. assign c[2] = q[1] & c[1];
  20. assign c[3] = q[2] & c[2];
  21. assign c[4] = q[3] & c[3];
  22. assign c[5] = q[4] & c[4];
  23. assign c[6] = q[5] & c[5];
  24. assign c[7] = q[6] & c[6];
  25.  
  26.  
  27. xyz ex0(enable,clk,aclr,q[0]);
  28. xyz ex1(c[1],clk,aclr,q[1]);
  29. xyz ex2(c[2],clk,aclr,q[2]);
  30. xyz ex3(c[3],clk,aclr,q[3]);
  31. xyz ex4(c[4],clk,aclr,q[4]);
  32. xyz ex5(c[5],clk,aclr,q[5]);
  33. xyz ex6(c[6],clk,aclr,q[6]);
  34. xyz ex7(c[7],clk,aclr,q[7]);
  35. endmodule
  36.  
  37. module adder_1(
  38. input [9:0] SW,
  39. input [3:0] KEY,
  40. output [0:6] HEX0, HEX1);
  41. integer sum, cout, mod16, multiple16, _sum;
  42. wire [7:0] h;
  43.  
  44. xyzx ex0(KEY[0],SW[0],SW[1],h);
  45.  
  46. always@(SW[8:0] or h[7:0]) begin
  47. if(SW[8:0] > h[7:0]) begin
  48. sum = SW[9:0] - h[7:0];
  49. end
  50. else begin
  51. sum = h[7:0] - SW[9:0];
  52. end
  53. mod16 = sum % 16;
  54. multiple16 = sum / 16;
  55. end
  56.  
  57. dis ex2(mod16,HEX0);
  58. dis ex3(multiple16,HEX1);
  59. endmodule
  60.  
  61. module dis(
  62. input [7:0] a,
  63. output reg [0:6] H);
  64. always @(*)
  65. case (a)
  66. 0: H = 7'b0000001;
  67. 1: H = 7'b1001111;
  68. 2: H = 7'b0010010;
  69. 3: H = 7'b0000110;
  70. 4: H = 7'b1001100;
  71. 5: H = 7'b0100100;
  72. 6: H = 7'b0100000;
  73. 7: H = 7'b0001111;
  74. 8: H = 7'b0000000;
  75. 9: H = 7'b0000100;
  76. 10: H = 7'b0001000;
  77. 11: H = 7'b1100000;
  78. 12: H = 7'b0110001;
  79. 13: H = 7'b1000010;
  80. 14: H = 7'b0110000;
  81. 15: H = 7'b0111000;
  82. default: H = 7'b1111111;
  83. endcase
  84. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement