Forum Discussion
Altera_Forum
Honored Contributor
11 years ago --- Quote Start --- It's a sign extension. (Actually, it is zero-extension if the word is unsigned.) You need it because: b) VHDL requires that assignments have the same length vectors on both sides of the <= (or := ), and c) VHDL neither auto-extends operands nor truncates results to make the vector lengths match (unlike Verilog). --- Quote End --- are you sure? try multiply 8 bits value by 8 bits value onto 16 bits result --- Quote Start --- As noted in this thread, it is better to use the resize() function (from numeric_std) on signed or unsigned types than to explicitly use the '0' & foo. --- Quote End --- why? what is the resize doing anyway?