module alu_LIFObuffer( input rst, EN, xchg, clr, neg, dataIn, alu, output EMPTY, FULL, Unknown, dp1, dp2 );input 3:0 dataIn;input 2:0 alu;input clr, EN, rst, xchg, neg ; output reg3:0 dp1,dp2;output reg EMPTY,FULL,Unknown;reg ALU; reg 7:0o_result=0;reg 3:0 stack_mem0:3;reg 2:0 SP;reg 3:0A,B,temp,temp2;integer i;parameter add=3b001;parameter sub=3b010;parameter mul=3b011;parameter div=3b100; controller stack always (EN or rst or xchg or neg or clr)begin Unknown=0; if(alu==add || alu == sub || alu==mul || alu==div)ALU=1; else ALU=0; delete all data on stack if (rst==1) begin SP = 3d4;FULL=0; EMPTY = SP2; for (i=0;i=temp2) o_result3:0=temptemp2;else o_result3:0=temp2temp;if((temp>=temp2 A3==1)|| (temp