-
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
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
Najnowsze wątki
- 2025-04-05 Dziwny wymiar wyroku
- 2025-04-05 Prunt z dachu
- 2025-04-05 Taśma LED
- 2025-04-05 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-04-05 Warszawa => Strategic Account Manager <=
- 2025-04-05 co w Anglii dziś w Polsce za 30 lat
- 2025-04-05 Wrocław => SOC Tech Lead <=
- 2025-04-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-04-05 Wyrok dożywocia dla Polki
- 2025-04-04 Prezydium Sejmu Tuskiego orzekło: Poseł KO mecenas Roman Giertych NIE jest mordercą (w żadnym sensie tego słowa?)
- 2025-04-04 Reset komóry
- 2025-04-04 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-04-04 Zielonka => Key Account Manager IT <=
- 2025-04-04 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2025-04-04 Warszawa => Mid/Senior IT Recruiter <=