Всем откликнувшимся - большое спасибо!
Проблема на предварительном уровне решена.
Докладываю результаты проверки

:
- конструкция, предложенная sazh, заработала без проблем, так что беру её на карандашик (sazh, отдельное спасибо)
- кроме того, есть собственный вариант (после отладки опубликую).
- все остальные варианты пока досконально не ковырял (я пишу "досконально", потому что сразу они не заработали, каждый нуждается в доделках (на что пока не было времени), хотя идеи практически везде правильные). Единственное замечание из личного опыта: использование конструкции while допустимо при создании функционального кода, при синтезе лучше такой конструкции избегать, так как часто это выливается в неоправданное расходование ресурсов.
Окончательный вариант пока не выбран, точку в этом деле поставим после синтеза (жду, когда заработает FTP, что бы сразу использовать синтезатор, указанный заказчиком). Вариант sazh намного компактнее нашего по коду, однако насчет компактности при синтезе я пока не уверен.
Тем не менее, тема пока не закрыта, поэтому дальнейшие предложения приветствуются.
Еще раз спасибо всем участникам дискуссии.