-
Data: 2011-05-26 19:20:54
Temat: VHDL - typy. Problem :(
Od: Piotr <b...@b...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam!
Mam straszny problem z VHDL'em. Potrzebuje połączyć pewne klocki.
Już na samym początku nie wiem o co chodzi z tym:
-- ***************************************************8
PACKAGE eight_bit_int IS
SUBTYPE BYTE IS INTEGER RANGE -128 TO 127;
TYPE ARRAY_BYTE IS ARRAY (0 TO 3) OF BYTE;
END eight_bit_int;
LIBRARY work;
USE work.eight_bit_int.ALL;
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_arith.ALL;
ENTITY CORDIC IS
PORT (Clk_50MHz : IN STD_LOGIC;
x_in, y_in : IN BYTE;
r, phi, eps : OUT BYTE);
END CORDIC;
-- **************************************************
Niby rozumiem, ale dlaczego jak zamieniam to na schemat to wejście i
wyjście to np: x_in(0:6). Dlaczego skoro jest od -128 do 127 to ma tylko
7 bitów, a nie 8???! Przecież to jest 255 wartości...
Czy mógłby mi ktoś podpowiedzieć jak to zrobić by połączyć to z układem,
który ma na wyjściu STD_LOGIC_VECTOR(7 DOWNTO 0).? Mogę zmienić wyjście
ewentualnie w tamtym układzie.
Jednak ten układ łączy się z układem który na wejściu ma IN(7:0). Mam
problem z tym typem BYTE. Najchętniej bym go zamienił na
STD_LOGIC_VECTOR. Gdy próbuje zamienić i zamiast BYTE dać
STD_VECTOR_LOGIC(0 TO 7) dla wejść i wyjść. Następnie sygnały dać
STD_VECTOR_LOGIC (0 TO 3). To mam masę błędów np. r <= x(3) jest zle.
Proszę o jakas podpowiedź, bo jestem początkujący. Nie idę na łatwiznę.
Już trochę zrobiłem, najgorzej, że muszę to co sam napisałem połączyć z
tym kodem.
Prosze o pomoc.
Wklejam cały kod tego układu, jeśli ma to znaczenie:
PACKAGE eight_bit_int IS
SUBTYPE BYTE IS INTEGER RANGE -128 TO 127;
TYPE ARRAY_BYTE IS ARRAY (0 TO 3) OF BYTE;
END eight_bit_int;
LIBRARY work;
USE work.eight_bit_int.ALL;
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_arith.ALL;
ENTITY CORDIC IS
PORT (Clk_50MHz : IN STD_LOGIC;
x_in, y_in : IN BYTE;
r, phi, eps : OUT BYTE);
END CORDIC;
ARCHITECTURE Behavioral OF CORDIC IS
SIGNAL x, y, z : ARRAY_BYTE;
BEGIN
PROCESS
BEGIN
WAIT UNTIL Clk_50MHz = '1';
r <= x(3);
phi <= z(3);
eps <= y(3);
IF y(2) > 0 THEN
x(3) <= x(2) + y(2) /4;
y(3) <= y(2) - x(2) /4;
z(3) <= z(2) + 14;
ELSE
x(3) <= x(2) - y(2) /4;
y(3) <= y(2) + x(2) /4;
z(3) <= z(2) - 14;
END IF;
IF y(1) > 0 THEN
x(2) <= x(1) + y(1) /2;
y(2) <= y(1) - x(1) /2;
z(2) <= z(1) + 26;
ELSE
x(2) <= x(1) - y(1) /2;
y(2) <= y(1) + x(1) /2;
z(2) <= z(1) - 26;
END IF;
IF y(0) > 0 THEN
x(1) <= x(0) + y(0);
y(1) <= y(0) - x(0);
z(1) <= z(0) + 45;
ELSE
x(1) <= x(0) - y(0);
y(1) <= y(0) + x(0);
z(1) <= z(0) - 45;
END IF;
IF x_in > 0 THEN
x(0) <= x_in;
y(0) <= y_in;
z(0) <= 0;
ELSIF y_in > 0 THEN
x(0) <= y_in;
y(0) <= - x_in;
z(0) <= 90;
ELSE
x(0) <= - y_in;
y(0) <= x_in;
z(0) <= - 90;
END IF;
END PROCESS;
END Behavioral;
Następne wpisy z tego wątku
- 27.05.11 08:50 Michoo
- 27.05.11 16:08 Piotr
- 28.05.11 08:38 Michoo
- 28.05.11 11:49 Lelek@
- 28.05.11 17:46 Michoo
- 28.05.11 18:41 Mario
- 28.05.11 19:22 Michoo
- 28.05.11 21:02 Lelek@
- 28.05.11 21:36 Mario
- 29.05.11 04:14 Piotr
- 29.05.11 15:10 Konop
- 11.06.11 21:32 j...@g...com
Najnowsze wątki z tej grupy
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
- Niby uziom ale nie
- Położyłem dwa telefony obok siebie
Najnowsze wątki
- 2025-04-27 czy nieroby zablokują znowu Zakopiankę
- 2025-04-26 e-Doręczenia w praktyce.
- 2025-04-26 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-04-26 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-04-26 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-04-26 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-04-26 Patrole obywatelskie.
- 2025-04-26 Warszawa => Presales Engineer IT <=
- 2025-04-26 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-04-26 Rudno => IT network administrator <=
- 2025-04-26 Dęblin => Node.js / Fullstack Developer <=
- 2025-04-25 Sprawdzić czy spółka ma sprawy w sądzie
- 2025-04-25 Solarny Palnik Wodorowy
- 2025-04-25 amperomierz w plusie
- 2025-04-25 nie wyłączam silnika