Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Программируемые логические схемы и их применение»

Ответ:

Отправлено SAZH 29 февраля 2008 г. 18:06
В ответ на: SQRT отправлено 1Sergey1 29 февраля 2008 г. 17:33

Вот пример. Не помню откуда.
module sqrt
(
input [7:0] radical,
output reg [3:0] q,
output reg [4:0] remainder
);

always @(radical)
begin: sqrt
integer i;
// tt is delta for adding one bit
// v is current sqrt value
reg [7:0] v, remain_der, tt;

v = 0;
remain_der = radical;
for(i = 3; i >= 0; i = i - 1) begin
tt = (v << (i + 1)) | (8'h01 << (i + i));
if(tt <= remain_der) begin
v = v | (8'h01 << i);
remain_der = remain_der - tt;
end
end
q = v[3:0];
remainder = remain_der[4:0];
end

endmodule


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
скольким Омам равен эквивалент двух резисторов по 10 Ом, соединённых параллельно?:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru