Я довольно новичок в Verilog, но у меня есть массив из 16 элементов (каждый элемент имеет длину 16 бит), и я хочу найти минимальную запись массива, вернуть минимум и переставить все записи в массиве, которые идут после минимума, так что массив представляет собой один непрерывный блок записей. Я знаю, что должен использовать компаратор, но я действительно не знаю, с чего начать, сравнивая большую группу чисел и определяя минимум.
РЕДАКТИРОВАТЬ: На самом деле я делаю приоритетную очередь. У меня реализована функциональность очереди, но вместо того, чтобы возвращать то, что находится в начале очереди, я хочу вернуть запись с наименьшим значением и сохранить непрерывное хранилище.
e.g. {2,3,4,1,5,6,-,-}
min is 1 --> {2,3,4,-,5,6,-,-}
Rearrange so everything following the returned min is moved to the index preceding it-->
{2,3,4,5,6,-,-,-}