Алгоритм 8bit/4bit поділ в FPGA Spartan 3?

D

david90

Guest
Як ви поділите на 8 бітний номер 4-розрядні числа в FPGA Spartan 3.Відділ не synthesizable в Spartan 3.Додано через 1 годину 27 хвилин:Я знайшов алгоритм, але
я не впевнений, як код у verilog.Ось АЛГ
==============
Перший варіант алгоритму розподілу і апаратних

Це дуже схоже на те, що нам робити з олівцем і папером.Чотири регістри і 64-бітних ALU потрібні.Початкові значення наступним чином: верхня 32 біт (DH) з 64-бітного регістра D містить 32-бітний дівізор; нижніх 32 біти дорівнюють нулю.У 64-бітної інші зареєструватися R містить дивідендів (верхня половина дорівнює нулю).Q, факторкольцо, містить нуль.Ось алгоритм розподілу

Повторіть 32 разів:

1.Дільник перехід права 1 біт, D = D>> 1.
2.Відняти з D R, R = R - D.
3.Факторно зміщення вгору, Q = Q <<1, якщо (R> = 0) q0 = 1,
інакше R = R D.
============
Ось мій код
Код:

Модуль відділу (годинник, дільник, дивіденди, фактор, remander);

введення годин;

вхід [3:0] дівізор;

вхід [7:0] дивідендів;виробництва [3:0] факторно;

виробництва [3:0] remander;рег [3:0] факторно;

рег [3:0] remander;

рег [7:0] Temp;
завжди @ (posedge годин)

починатиТемпература <= дівізор <<4;Факторно = дивіденд-(Temp>> 1)

Факторно <= факторно <<1;якщо (R> = 0)

ще

Факторно = дивідендів (Temp>> 1)

кінецьendmodule
 
Використання coregen від Xilinx ISE програмного забезпечення для створення Divider

 
Відділ synthesizable в Spartan-3, але це не synthesizable на ISE 8.1 Verilog компілятора.

Що означає KiB, замість повторного винаходу колеса, ви можете запустити CORE Generator (вона входить до складу програмного забезпечення вашого ISE),
дивіться у розділі "Математичні функції", і ви побачите "циркуль", а потім "Divider Generator".Використовуйте його для створення Відділу модуль, який ви можете залишити в ваш HDL проекту.

 
Ох.Добре.Але якщо я хочу, щоб мої власні модулі.Я просто хочу дізнатися, яким чином.

 

Welcome to EDABoard.com

Sponsor

Back
Top