Sunteți pe pagina 1din 2

ALU CODE: .....

`timescale 1ns / 1ps module alucode( output [3:0] out, output c_out, input [3:0] code, input [3:0] a,b, input cin ); parameter parameter parameter parameter parameter parameter parameter parameter parameter parameter parameter parameter parameter parameter parameter andb =0; nandb =1; orb norb =3; xorb=4; xnorb=5; nota=6; lsft=7; rsft=8; add=9; sub=10; mul=11; div=12; mod=13; fadd=14;

=2;

reg [3:0] out; reg c_out; always @ (code,a,b,cin) case(code) andb : out = a & b; nandb : out = ~(a & b); orb : out = a | b; norb : out = ~(a | b); xorb : out = a ^ b; xnorb : out = ~(a ^ b); nota : out = ~a; lsft : out = a<<b; rsft : out = a>>b; add : out = a + b; sub : out = a - b; mul : out = a * b;

div : out = a / b; mod : out = a % b; fadd : {c_out,out} = a+b+cin; default:{c_out,out} = 5'bxxxxx; endcase endmodule

OUTPUT WAVEFORM:

S-ar putea să vă placă și