-
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
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-01-30 Gdańsk => Solution Architect (Java background) <=
- 2025-01-30 Zielona Góra => Senior Field Sales (system ERP) <=
- 2025-01-30 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-01-30 DeepSeek nie lubi gadać o polityce
- 2025-01-30 Błonie => Administrator systemów <=
- 2025-01-30 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-30 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-30 Faktura z czech.
- 2025-01-29 "Zorganizowana Grupa Przestępcza" poczeka na decyzję o ekstradycji z UK na wolności [RARS]
- 2025-01-29 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-29 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-29 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-29 Poznań => Specjalista ds. Employer Brandingu <=
- 2025-01-29 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-01-29 Warszawa => Junior Rekruter <=