-------------------------------- -- A complex number multiplier. -------------------------------- PACKAGE my_types IS TYPE complex IS RECORD r_part: real; -- real part i_part: real; -- imaginary part END RECORD; END PACKAGE my_types; USE WORK.my_types.ALL; ENTITY c_mult IS PORT( a,b,: IN complex; c: OUT complex); END ENTITY c_mult; ARCHITECTURE c_mult OF c_mult IS BEGIN Pmul: PROCESS (a,b) IS BEGIN c.r_part <= a.r_part * b.r_part - a.i_part * b.i_part; c.i_part <= a.r_part * b.i_part + a.i_part * b.r_part; END PROCESS Pmul; END ARCHITECTURE c_mult;