Hast Du Schlafprobleme oder bist Du im Ausland unterwegs ;-) ?
Weltbester FPGA-Pongo schrieb im Beitrag #5867703:
> Lothar M. schrieb:
>> Duke Scarring schrieb:
>>> 32 Bit / 32 Bit?
>>> Hast Du Dir mal überlegt, wie groß die Logik wird?
>> Und langsam erst...
> Ein Takt pro Bit. Voll als pipeline.
Ja seriell. Ich meinte eigentlich parallel.
Ich habe den folgenden Code mal im Lattice Diamond durchnudeln lassen:
1 | library ieee;
|
2 | use ieee.std_logic_1164.all;
|
3 | use ieee.numeric_std.all;
|
4 |
|
5 | entity div32 is
|
6 | port
|
7 | (
|
8 | dividend : in unsigned( 31 downto 0);
|
9 | divisor : in unsigned( 31 downto 0);
|
10 | --
|
11 | quotient : out unsigned( 31 downto 0)
|
12 | );
|
13 | end entity div32;
|
14 |
|
15 | architecture bhv of div32 is
|
16 | begin
|
17 |
|
18 | quotient <= dividend / divisor;
|
19 |
|
20 | end architecture bhv;
|
Dafür werden ca. 2000 LUT4 benötigt und der Chip ist zu einem Drittel
voll:
1 | Number of registers: 0 out of 7209 (0%)
|
2 | PFU registers: 0 out of 6864 (0%)
|
3 | PIO registers: 0 out of 345 (0%)
|
4 | Number of SLICEs: 1095 out of 3432 (32%)
|
5 | SLICEs as Logic/ROM: 1095 out of 3432 (32%)
|
6 | SLICEs as RAM: 0 out of 2574 (0%)
|
7 | SLICEs as Carry: 593 out of 3432 (17%)
|
8 | Number of LUT4s: 2189 out of 6864 (32%)
|
9 | Number used as logic LUTs: 1003
|
10 | Number used as distributed RAM: 0
|
11 | Number used as ripple logic: 1186
|
12 | Number used as shift registers: 0
|
13 | Number of PIO sites used: 96 + 4(JTAG) out of 115 (87%)
|
Ich fürchte HLS macht ohne spezielles Pragma auch eine parallele Lösung
draus.
Duke