Форум: "Потрепаться";
Текущий архив: 2002.09.30;
Скачать: [xml.tar.bz2];
ВнизПоможите люди добрые Найти похожие ветки
← →
Undert (2002-09-02 23:20) [0]library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity PN is
Port ( EPOCH : in std_logic;
A0,A1,A2,A3,B0,B1,B2,B3: in std_logic;
CLK: in std_logic;
GPS_PN: out std_logic);
end PN;
architecture PN_LOG of PN is
component reg1
port(CLKGPS,EPOCH:in std_logic; G1: out std_logic);
end component;
component reg21
port(CLKGPS,EPOCH: in std_logic;
OUT1 ,OUT2 ,OUT3 ,OUT4 ,OUT5 ,OUT6 ,OUT7 ,OUT8 ,OUT9 ,OUT10,
OUT11,OUT12,OUT13,OUT14,OUT15,OUT16,OUT17,OUT18,OUT19,OUT20,
OUT21,OUT22,OUT23,OUT24,OUT25,OUT26,OUT27,OUT28,OUT29,OUT30,
OUT31,OUT32,OUT33,OUT34,OUT35,OUT36: out std_logic);
end component;
signal G1,G2,
OUT1,OUT2,OUT3,OUT4,OUT5,OUT6,
OUT7,OUT8,OUT9,OUT10,OUT11,OUT12,
OUT13,OUT14,OUT15,OUT16,OUT17,OUT18,
OUT19,OUT20,OUT21,OUT22,OUT23,OUT24,
OUT25,OUT26,OUT27,OUT28,OUT29,OUT30,
OUT31,OUT32,OUT33,OUT34,OUT35,OUT36 :std_logic;
signal INT:std_logic_vector (1 to 8);
begin
Register2:reg21 port map (CLK,EPOCH,
OUT1,OUT2,OUT3,OUT4,OUT5,OUT6,
OUT7,OUT8,OUT9,OUT10,OUT11,OUT12,
OUT13,OUT14,OUT15,OUT16,OUT17,OUT18,
OUT19,OUT20,OUT21,OUT22,OUT23,OUT24,
OUT25,OUT26,OUT27,OUT28,OUT29,OUT30,
OUT31,OUT32,OUT33,OUT34,OUT35,OUT36);
Register1:reg1 port map(CLK,EPOCH,G1);
case INT is
when "00000001"=> G2 <= OUT1;
when "00000010"=> G2 <= OUT2;
when "00000011"=> G2 <= OUT3;
when "00000100"=> G2 <= OUT4;
when "00000101"=> G2 <= OUT5;
when "00000110"=> G2 <= OUT6;
when "00000111"=> G2 <= OUT7;
when "00001000"=> G2 <= OUT8;
when "00001001"=> G2 <= OUT9;
when "00001010"=> G2 <= OUT10;
when "00001011"=> G2 <= OUT11;
when "00001100"=> G2 <= OUT12;
when "00001101"=> G2 <= OUT13;
when "00001110"=> G2 <= OUT14;
when "00001111"=> G2 <= OUT15;
when "00010000"=> G2 <= OUT16;
when "00010001"=> G2 <= OUT17;
when "00010010"=> G2 <= OUT18;
when "00010011"=> G2 <= OUT19;
when "00010100"=> G2 <= OUT20;
when "00010101"=> G2 <= OUT21;
when "00010110"=> G2 <= OUT22;
when "00010111"=> G2 <= OUT23;
when "00011000"=> G2 <= OUT24;
when "00011001"=> G2 <= OUT25;
when "00011010"=> G2 <= OUT26;
when "00011011"=> G2 <= OUT27;
when "00011100"=> G2 <= OUT28;
when "00011101"=> G2 <= OUT29;
when "00011110"=> G2 <= OUT30;
when "00011111"=> G2 <= OUT31;
when "00100000"=> G2 <= OUT32;
when "00100001"=> G2 <= OUT33;
when "00100010"=> G2 <= OUT34;
when "00100011"=> G2 <= OUT35;
when "00100100"=> G2 <= OUT36;
when others=> null;
end case;
GPS_PN <= (G1 xor G2) after 1000ns;
end PN_LOG;
На выходе неопределённый сигнал U все 1023 такта ...
← →
NetBreaker666 (2002-09-02 23:25) [1]Ну я бы сделал case в process (это конструкция предусматривающая использование process) и внес в его sensetive list out1-out36 и Int ...
← →
Undert (2002-09-02 23:40) [2]Как он у тебя работать (синтезироваться) то будет с 37 сигналами в листе?
Сигнал INT надо обределить, а то он в U, вот и все в U. И вместо "case" "when...else" использовать.
← →
NetBreaker666 (2002-09-02 23:41) [3]Как он у тебя будет отрабатывать изменения out при фиксированном int ?
← →
Undert (2002-09-02 23:42) [4]Использовать When ... Else вместо Case.
И вообще не так делаются генераторы ПСП. У Xilinx есть Application Note на эту тему. Там все расписано. Мне нужен конкретный ответ на конкретный вопрос ...
← →
NetBreaker666 (2002-09-02 23:47) [5]Ну, наконец-то мозгоав до чего-то умного хватило. Да, when - else использовать реально (объединив сигналы в шину), и process тогда вводить не нужно ... Но круче sensetive list юзать (красивее будет)
← →
Undert (2002-09-02 23:48) [6]Ну ладно, кончай умничать... Ты здесь один такой "талант" или ещё кто вмешается ????
← →
undert (2002-09-03 15:17) [7]To Moderator> Откройте плз разднл VHDL
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.09.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c