@ nguoi moi:
Was sagt denn die Synthese zu Deinem Code? Hast Du eine Testbench?
Mein XST sagt:
1 | line 23: Operator <INVALID OPERATOR> must have constant operands or first operand must be power of 2
|
Vielleicht kannst Du 32 als Teiler verwenden. Ich würde das dann so
schreiben:
1 | library ieee;
|
2 | use ieee.std_logic_1164.all;
|
3 | use ieee.numeric_std.all;
|
4 |
|
5 | entity division is
|
6 | port(
|
7 | clk: in std_logic;
|
8 | x_i: in std_logic_vector (9 downto 0);
|
9 | x_o: out std_logic_vector (9 downto 0);
|
10 | y_o: out std_logic_vector (9 downto 0)
|
11 | );
|
12 | end division;
|
13 |
|
14 | architecture rtl of division is
|
15 |
|
16 | begin
|
17 |
|
18 | main: process
|
19 | begin
|
20 | wait until rising_edge(clk);
|
21 | x_o <= std_logic_vector( unsigned(x_i) + 1 );
|
22 | y_o <= std_logic_vector( (unsigned(x_i) + 1) /32 );
|
23 | end process;
|
24 |
|
25 | end rtl;
|
> 2. Gibts Tutorial für diesen Board? Der Name klingt dass man ihn als DSP
> benutzen kann, aber wie?
Es gibt sicher kein spezielles Tutorial, aber in ISE sind m.E. einige
Examples (File -> Open Example) dabei.
Das DSP im Namen bezieht sich auf die höhere Anzahl von DSP48-Blöcken im
FPGA. Das sind schnelle Multiplizierer mit angehängten Addierern. Damit
lassen sich gut diverse Filter für die Signalverarbeitung generieren.
Duke