- module asansor (clk, yuk_giris,
- sicaklik_giris, tasinma_sayisi);
- input clk;
- input basla;
- input [8:0] yuk_giris;
- input [8:0] sicaklik_giris;
- output reg [8:0] tasinma_sayisi;
- integer i;
- reg [8:0] max_yuk_kilosu = 9'b001000000;
- reg [8:0] max_sicaklik = 9'b001000000;
- reg [8:0] yuk_kilosu;
- reg [8:0] sicaklik_derecesi;
- reg [8:0] tasima_say = 9'b000000000;
- reg [3:0] state;
- parameter s0 = 4'b0000;
- parameter s1 = 4'b0001;
- parameter s2 = 4'b0010;
- parameter s3 = 4'b0011;
- parameter s4 = 4'b0100;
- always @(posedge clk)
- begin
- case (state)
- s0:
- begin
- yuk_kilosu <= yuk_giris;
- sicaklik_derecesi <= sicaklik_giris;
- state <= s1;
- end
- s1:
- if (basla == 1)
- begin
- yuk_kilosu <= yuk_giris;
- sicaklik_derecesi <= sicaklik_giris;
- state <= s2;
- end
- else
- begin
- state <= s1;
- end
- s2:
- if (yuk_kilosu <= max_yuk_kilosu)
- begin
- state <= s3;
- end
- else
- begin
- yuk_kilosu <= yuk_giris;
- sicaklik_derecesi <= sicaklik_giris;
- state <= s1;
- end
- s3:
- if (sicaklik_derecesi <= max_sicaklik)
- begin
- state <= s4;
- for (i=0;i<500000;i=i+1);
- end
- else
- begin
- yuk_kilosu <= yuk_giris;
- sicaklik_derecesi <= sicaklik_giris;
- state <= s2;
- end
- s4:
- begin
- tasima_say = tasima_s
[text] as
Viewer
Editor
You can edit this paste and save as new: