Advertisement
Guest User

Untitled

a guest
Dec 10th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.70 KB | None | 0 0
  1. /*
  2. module porraninhuma(led0,led1,led2,led3,led4,led5,led6,led7,memlinha,memcoluna);
  3.     //input [4:1]memlinha;
  4.     //output reg[4:1]memcoluna;
  5.     input [4:1]memcoluna;
  6.     output reg[4:1]memlinha;
  7.     output reg led0;
  8.     output reg led1;
  9.     output reg led2;
  10.     output reg led3;
  11.     output reg led4;
  12.     output reg led5;
  13.     output reg led6;
  14.     output reg led7;
  15.    
  16.    
  17.    
  18.     initial begin
  19.         led0<=0;
  20.         led1<=0;
  21.         led2<=0;
  22.         led3<=0;
  23.         led4<=0;
  24.         led5<=0;
  25.         led6<=0;
  26.         led7<=0;
  27.         memlinha[1]<=0;
  28.         memlinha[2]<=0;
  29.         memlinha[3]<=0;
  30.         memlinha[4]<=0;
  31.     end
  32.    
  33.    
  34.    
  35.     always@(*)begin
  36.         led0<=memlinha[1];
  37.         led1<=memlinha[2];
  38.         led2<=memlinha[3];
  39.         led3<=memlinha[4];
  40.         led4<=memcoluna[1];
  41.         led5<=memcoluna[2];
  42.         led6<=memcoluna[3];
  43.         led7<=memcoluna[4];
  44.     end
  45.    
  46.    
  47.    
  48. endmodule
  49. */
  50.  
  51. module porraninhuma(clk,led1,led2,led3,led4,led5,led6,led7,led8,led0,led9,ledzeppelin,memlinha,memcoluna,ledefo,ledefo1,ledefo2,ledefo3,ledefo4,ledefo5);
  52.     input [1:4]memcoluna;
  53.     output reg[1:4]memlinha;
  54.     wire [1:4]colunadeb;
  55.     output reg led8;
  56.     output reg led1;
  57.     output reg led2;
  58.     output reg led3;
  59.     output reg led4;
  60.     output reg led5;
  61.     output reg led6;
  62.     output reg led9;
  63.     output reg led0;
  64.     output reg ledzeppelin;
  65.     output reg led7;
  66.     output reg ledefo,ledefo1,ledefo2,ledefo3,ledefo4,ledefo5;
  67.     reg c;
  68.     input clk;
  69.     integer counter;
  70.     reg clk2;
  71.    
  72.     debounce D0(clk, memcoluna[1], colunadeb[1]);
  73.     debounce D1(clk, memcoluna[2], colunadeb[2]);
  74.     debounce D2(clk, memcoluna[3], colunadeb[3]);
  75.     debounce D3(clk, memcoluna[4], colunadeb[4]);
  76.    
  77.     //module pra clock auxiliar
  78.    
  79.     initial begin
  80.         led1<=0;
  81.         led2<=0;
  82.         led3<=0;
  83.         led4<=0;
  84.         led5<=0;
  85.         led6<=0;
  86.         led7<=0;
  87.         led8<=0;
  88.         led9<=0;
  89.         led0<=0;
  90.         ledefo<=0;
  91.         ledefo1<=0;
  92.         ledefo2<=0;
  93.         ledefo3<=0;
  94.         ledefo4<=0;
  95.         ledefo5<=0;
  96.         ledzeppelin<=0;
  97.         c<=0;
  98.         memlinha<=4'b1110;
  99.     end
  100.    
  101.     always@(posedge clk)begin
  102.         if(c==1000000)begin
  103.             clk2 <= ~clk2;
  104.             c<=0;
  105.         end
  106.         else
  107.             c<=c+1;
  108.     end
  109.    
  110.     always@(posedge clk2)begin
  111.        
  112.         case(memlinha)
  113.             4'b0111:begin
  114.                 memlinha<=4'b1011;
  115.             end
  116.             4'b1011:begin
  117.                 memlinha<=4'b1101;
  118.             end
  119.             4'b1101:begin
  120.                 memlinha<=4'b1110;
  121.             end
  122.             4'b1110:begin
  123.                 memlinha<=4'b0111;
  124.             end
  125.             default:begin
  126.                 ledefo<=1;
  127.             end
  128.         endcase    
  129.     end
  130.    
  131.     always@(posedge clk2)begin
  132.  
  133.         case(memlinha)
  134.             4'b0111:begin
  135.                 case(colunadeb)
  136.                     4'b0111:begin
  137.                         led1<=1;
  138.                     end
  139.                     4'b1011:begin
  140.                         led2<=1;
  141.                     end
  142.                     4'b1101:begin
  143.                         led3<=1;
  144.                     end
  145.                     default:begin
  146.                         memlinha <= 4'b1011;
  147.                     end
  148.                 endcase
  149.             end
  150.             4'b1011:begin
  151.                 case(colunadeb)
  152.                     4'b0111:begin
  153.                         led4<=1;
  154.                     end
  155.                     4'b1011:begin
  156.                         led5<=1;
  157.                     end
  158.                     4'b1101:begin
  159.                         led6<=1;
  160.                     end
  161.                     default:begin
  162.                         ledefo2<=1;
  163.                     end
  164.                 endcase
  165.             end
  166.             4'b1101:begin
  167.                 case(colunadeb)
  168.                     4'b0111:begin
  169.                         led7<=1;
  170.                     end
  171.                     4'b1011:begin
  172.                         led8<=1;
  173.                     end
  174.                     4'b1101:begin
  175.                         led9<=1;
  176.                     end
  177.                     default:begin
  178.                     ledefo3<=1;
  179.                     end
  180.                 endcase
  181.                 memlinha<=4'b1110;
  182.             end
  183.             4'b1110:begin
  184.                 case(colunadeb)
  185.                     4'b1011:begin
  186.                         led0<=1;
  187.                     end
  188.                     4'b1101:begin
  189.                         ledzeppelin<=1;
  190.                     end
  191.                     default:begin
  192.                         ledefo4<=1;
  193.                     end
  194.                     memlinha<=4'b0111;
  195.                 endcase
  196.             end
  197.             default:begin
  198.                 ledefo5<=1;
  199.             end
  200.         endcase
  201.        
  202.     end
  203.  
  204.    
  205.    
  206.    
  207. endmodule
  208. /*
  209. module porraninhuma(led0,led1,led2,led3,led4,led5,led6,led7,memlinha,memcoluna);
  210.     //input [4:1]memlinha;
  211.     //output reg[4:1]memcoluna;
  212.     input [4:1]memcoluna;
  213.     output reg[4:1]memlinha;
  214.     output reg led0;
  215.     output reg led1;
  216.     output reg led2;
  217.     output reg led3;
  218.     output reg led4;
  219.     output reg led5;
  220.     output reg led6;
  221.     output reg led7;
  222.    
  223.    
  224.    
  225.     initial begin
  226.         led0<=0;
  227.         led1<=0;
  228.         led2<=0;
  229.         led3<=0;
  230.         led4<=0;
  231.         led5<=0;
  232.         led6<=0;
  233.         led7<=0;
  234.         memlinha[1]<=0;
  235.         memlinha[2]<=0;
  236.         memlinha[3]<=0;
  237.         memlinha[4]<=0;
  238.     end
  239.    
  240.    
  241.    
  242.     always@(*)begin
  243.         led0<=memlinha[1];
  244.         led1<=memlinha[2];
  245.         led2<=memlinha[3];
  246.         led3<=memlinha[4];
  247.         led4<=memcoluna[1];
  248.         led5<=memcoluna[2];
  249.         led6<=memcoluna[3];
  250.         led7<=memcoluna[4];
  251.     end
  252.    
  253.    
  254.    
  255. endmodule
  256. */
  257.  
  258. module porraninhuma(clk,led1,led2,led3,led4,led5,led6,led7,led8,led0,led9,ledzeppelin,memlinha,memcoluna,ledefo,ledefo1,ledefo2,ledefo3,ledefo4,ledefo5);
  259.     input [1:4]memcoluna;
  260.     output reg[1:4]memlinha;
  261.     wire [1:4]colunadeb;
  262.     output reg led8;
  263.     output reg led1;
  264.     output reg led2;
  265.     output reg led3;
  266.     output reg led4;
  267.     output reg led5;
  268.     output reg led6;
  269.     output reg led9;
  270.     output reg led0;
  271.     output reg ledzeppelin;
  272.     output reg led7;
  273.     output reg ledefo,ledefo1,ledefo2,ledefo3,ledefo4,ledefo5;
  274.     reg c;
  275.     input clk;
  276.     integer counter;
  277.     reg clk2;
  278.    
  279.     debounce D0(clk, memcoluna[1], colunadeb[1]);
  280.     debounce D1(clk, memcoluna[2], colunadeb[2]);
  281.     debounce D2(clk, memcoluna[3], colunadeb[3]);
  282.     debounce D3(clk, memcoluna[4], colunadeb[4]);
  283.    
  284.     //module pra clock auxiliar
  285.    
  286.     initial begin
  287.         led1<=0;
  288.         led2<=0;
  289.         led3<=0;
  290.         led4<=0;
  291.         led5<=0;
  292.         led6<=0;
  293.         led7<=0;
  294.         led8<=0;
  295.         led9<=0;
  296.         led0<=0;
  297.         ledefo<=0;
  298.         ledefo1<=0;
  299.         ledefo2<=0;
  300.         ledefo3<=0;
  301.         ledefo4<=0;
  302.         ledefo5<=0;
  303.         ledzeppelin<=0;
  304.         c<=0;
  305.         memlinha<=4'b1110;
  306.     end
  307.    
  308.     always@(posedge clk)begin
  309.         if(c==1000000)begin
  310.             clk2 <= ~clk2;
  311.             c<=0;
  312.         end
  313.         else
  314.             c<=c+1;
  315.     end
  316.    
  317.     always@(posedge clk2)begin
  318.        
  319.         case(memlinha)
  320.             4'b0111:begin
  321.                 memlinha<=4'b1011;
  322.             end
  323.             4'b1011:begin
  324.                 memlinha<=4'b1101;
  325.             end
  326.             4'b1101:begin
  327.                 memlinha<=4'b1110;
  328.             end
  329.             4'b1110:begin
  330.                 memlinha<=4'b0111;
  331.             end
  332.             default:begin
  333.                 ledefo<=1;
  334.             end
  335.         endcase    
  336.     end
  337.    
  338.     always@(posedge clk2)begin
  339.  
  340.         case(memlinha)
  341.             4'b0111:begin
  342.                 case(colunadeb)
  343.                     4'b0111:begin
  344.                         led1<=1;
  345.                     end
  346.                     4'b1011:begin
  347.                         led2<=1;
  348.                     end
  349.                     4'b1101:begin
  350.                         led3<=1;
  351.                     end
  352.                     default:begin
  353.                         memlinha <= 4'b1011;
  354.                     end
  355.                 endcase
  356.             end
  357.             4'b1011:begin
  358.                 case(colunadeb)
  359.                     4'b0111:begin
  360.                         led4<=1;
  361.                     end
  362.                     4'b1011:begin
  363.                         led5<=1;
  364.                     end
  365.                     4'b1101:begin
  366.                         led6<=1;
  367.                     end
  368.                     default:begin
  369.                         ledefo2<=1;
  370.                     end
  371.                 endcase
  372.             end
  373.             4'b1101:begin
  374.                 case(colunadeb)
  375.                     4'b0111:begin
  376.                         led7<=1;
  377.                     end
  378.                     4'b1011:begin
  379.                         led8<=1;
  380.                     end
  381.                     4'b1101:begin
  382.                         led9<=1;
  383.                     end
  384.                     default:begin
  385.                     ledefo3<=1;
  386.                     end
  387.                 endcase
  388.                 memlinha<=4'b1110;
  389.             end
  390.             4'b1110:begin
  391.                 case(colunadeb)
  392.                     4'b1011:begin
  393.                         led0<=1;
  394.                     end
  395.                     4'b1101:begin
  396.                         ledzeppelin<=1;
  397.                     end
  398.                     default:begin
  399.                         ledefo4<=1;
  400.                     end
  401.                     memlinha<=4'b0111;
  402.                 endcase
  403.             end
  404.             default:begin
  405.                 ledefo5<=1;
  406.             end
  407.         endcase
  408.        
  409.     end
  410.  
  411.    
  412.    
  413.    
  414. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement