control.v

来自「一些很好的FPGA设计实例」· Verilog 代码 · 共 58 行

V
58
字号
module control(en,D,DATA,cfm,shift);
input en;
input[3:0] D;
output cfm,shift;
output[23:0] DATA;
reg[23:0] DATA;
reg cfm,shift;
integer i;
always @(negedge en)
 begin
  cfm=0;
  if(D[3:0]<=9)
   begin
   if(i==7)
    begin
    end
   else if(i==0)
    begin
    DATA[19:0]=20'hfffff;
    i=i+1;
    end
   else
    begin
    i=i+1;
    end
   case(i)
   0:DATA=24'hffffff;
   1:DATA[23:20]=D[3:0];
   2:DATA[19:16]=D[3:0];
   3:DATA[15:12]=D[3:0];
   4:DATA[11:8]=D[3:0];
   5:DATA[7:4]=D[3:0];
   6:DATA[3:0]=D[3:0];
   7: ;
   default:DATA=24'bx;
   endcase 
   end 
  else if(D[3:0]==4'b1010)
   begin
   i=0;
   DATA=24'hffffff;
   end
  else if(D[3:0]==4'b1011)
   begin
   cfm=1;
   i=0;
   end 
  else if(D[3:0]==4'b1100)
   begin
   i=0;
   shift=~shift;
   DATA=24'hffffff;
   end 
  else
   begin
   end             
 end
endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?