some optimization on Observer_behave.vhd