Open netnazgul opened 4 years ago
https://github.com/Michail-Petrushko/Work_NT-Lab/blob/0125deecd1c3086d803b426d3746f2933e782a5b/HSV-RGB/HSV-RGB.srcs/sources_1/new/hsv_to_rgb.v#L48-L51 Потенциально опасная высокоуровневая конструкция, использующая умножение и деление. Данные операции нетривиальны в логическом описании и могут потребовать большого количества ресурсов для исполнения, либо специальных макроячеек умножителей/делителей. Также не будут учтены проблемы переполнения, что усугубляется незаданной разрядностью сигналов Vinc, Vdec, Vmin, v.
Vinc
Vdec
Vmin
v
Достаточно длинная логическая цепочка для Vmin также вызывает много вопросов. https://github.com/Michail-Petrushko/Work_NT-Lab/blob/0125deecd1c3086d803b426d3746f2933e782a5b/HSV-RGB/HSV-RGB.srcs/sources_1/new/hsv_to_rgb.v#L43 https://github.com/Michail-Petrushko/Work_NT-Lab/blob/0125deecd1c3086d803b426d3746f2933e782a5b/HSV-RGB/HSV-RGB.srcs/sources_1/new/hsv_to_rgb.v#L50 и далее в RGB.
RGB
Следует продумать оптимизацию алгоритма под использование в HDL, либо поискать готовые варианты. Возможно расширение переменных, если 8 бит не даёт достаточной точности. В таком случае можно использовать для расчётов, например, 16 бит, а для вывода использовать старшие 8. https://stackoverflow.com/a/22120275/4066912 http://www.javascripter.net/faq/rgb2hsv.htm https://www.scientific.net/AMR.816-817.527 https://www.researchgate.net/figure/Hardware-Architecture-for-RGB-to-HSV-and-HSV-to-RGB-Conversion_fig3_263928530
подумаю над этим позже
https://github.com/Michail-Petrushko/Work_NT-Lab/blob/0125deecd1c3086d803b426d3746f2933e782a5b/HSV-RGB/HSV-RGB.srcs/sources_1/new/hsv_to_rgb.v#L48-L51 Потенциально опасная высокоуровневая конструкция, использующая умножение и деление. Данные операции нетривиальны в логическом описании и могут потребовать большого количества ресурсов для исполнения, либо специальных макроячеек умножителей/делителей. Также не будут учтены проблемы переполнения, что усугубляется незаданной разрядностью сигналов
Vinc
,Vdec
,Vmin
,v
.Достаточно длинная логическая цепочка для
Vmin
также вызывает много вопросов. https://github.com/Michail-Petrushko/Work_NT-Lab/blob/0125deecd1c3086d803b426d3746f2933e782a5b/HSV-RGB/HSV-RGB.srcs/sources_1/new/hsv_to_rgb.v#L43 https://github.com/Michail-Petrushko/Work_NT-Lab/blob/0125deecd1c3086d803b426d3746f2933e782a5b/HSV-RGB/HSV-RGB.srcs/sources_1/new/hsv_to_rgb.v#L50 и далее вRGB
.Следует продумать оптимизацию алгоритма под использование в HDL, либо поискать готовые варианты. Возможно расширение переменных, если 8 бит не даёт достаточной точности. В таком случае можно использовать для расчётов, например, 16 бит, а для вывода использовать старшие 8. https://stackoverflow.com/a/22120275/4066912 http://www.javascripter.net/faq/rgb2hsv.htm https://www.scientific.net/AMR.816-817.527 https://www.researchgate.net/figure/Hardware-Architecture-for-RGB-to-HSV-and-HSV-to-RGB-Conversion_fig3_263928530