Vadim 0 25 апреля, 2008 Опубликовано 25 апреля, 2008 · Жалоба Есть ли стандартный метод или может кто-нибудь написал функцию? Самому писать лень. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 25 апреля, 2008 Опубликовано 25 апреля, 2008 · Жалоба Есть ли стандартный метод или может кто-нибудь написал функцию? Самому писать лень. Стандартная функция read может читать real из указателя на строку. В VHDL нельзя получить адрес объекта. След-но нужен некий workaround. Примерно так (возможны ошибки): function to_real(x: string) return real is variable l : line; -- copy of x to use read() variable r : real; variable ok : boolean; begin l := new line'(x); r := read(l, r, ok); deallocate(l); if (ok) then return r; else return 0.0; end if; end; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 25 апреля, 2008 Опубликовано 25 апреля, 2008 · Жалоба Рискну поправить: function to_real(x: string) return real is variable l : line; -- copy of x to use read() variable r : real; variable ok : boolean; begin l := new string'(x); read(l, r, ok); deallocate(l); if (ok) then return r; else return 0.0; end if; end; Компилятор это скушал, работу функции пока не проверял. Спасибо :beer: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 25 апреля, 2008 Опубликовано 25 апреля, 2008 · Жалоба Рискну поправить Спасибо. Вы абсолютно правы. Писал практически на бегу с работы :-), поэтому так глупо наошибался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться