[text] as

Viewer

  1. module asansor (clk, yuk_giris, 
  2. sicaklik_giris, tasinma_sayisi);
  3.  input clk;
  4.  input basla;
  5.  input [8:0] yuk_giris;
  6.  input [8:0] sicaklik_giris;
  7.  output reg [8:0] tasinma_sayisi;
  8.  
  9.  integer i;
  10.  reg [8:0] max_yuk_kilosu = 9'b001000000;
  11.  reg [8:0] max_sicaklik = 9'b001000000;
  12.  reg [8:0] yuk_kilosu;
  13.  reg [8:0] sicaklik_derecesi;
  14.  reg [8:0] tasima_say = 9'b000000000;
  15.  reg [3:0] state;
  16.  
  17.  parameter s0 = 4'b0000;
  18.  parameter s1 = 4'b0001;
  19.  parameter s2 = 4'b0010; 
  20.  parameter s3 = 4'b0011;
  21.  parameter s4 = 4'b0100; 
  22.  
  23.  always @(posedge clk)
  24.  begin
  25.  case (state)
  26.  s0:
  27.  begin
  28.  yuk_kilosu <= yuk_giris;
  29.  sicaklik_derecesi <= sicaklik_giris;
  30.  state <= s1;
  31.  end
  32.  s1:
  33.  if (basla == 1)
  34.  begin
  35.  yuk_kilosu <= yuk_giris;
  36.  sicaklik_derecesi <= sicaklik_giris; 
  37.  state <= s2;
  38.  end
  39.  else
  40.  begin
  41.  state <= s1;
  42.  end
  43.  s2:
  44.  if (yuk_kilosu <= max_yuk_kilosu)
  45.  begin
  46.  state <= s3;
  47.  end
  48.  else
  49.  begin
  50.  yuk_kilosu <= yuk_giris;
  51.  sicaklik_derecesi <= sicaklik_giris; 
  52.  state <= s1;
  53.  end 
  54.  s3:
  55.  if (sicaklik_derecesi <= max_sicaklik)
  56.  begin
  57.  state <= s4;
  58.  for (i=0;i<500000;i=i+1);
  59.  end
  60.  else
  61.  begin
  62.  yuk_kilosu <= yuk_giris;
  63.  sicaklik_derecesi <= sicaklik_giris; 
  64.  state <= s2;
  65.  end 
  66.  s4:
  67.  begin 
  68.  tasima_say = tasima_s

Editor

You can edit this paste and save as new: