реклама на сайте
подробности

 
 
> pci интерфейс по шагам
sergey sva
сообщение Aug 30 2011, 18:59
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Возникла необходимость изучить интерфейс pci и vhdl, прочитал спецификацию несколько раз, набрал исходников, но логические цепочки в моем мозгу не собираются. Информации много не знай с чего начать. Одна голова хорошо а много лучше, пословица старая и мудрая.
Прошу помочь в этом деле, если тема пойдет может будет еще кому полезна решившего освоить pci.
Цель сделать счетчик 64 разряда, интерфейс pci target 32 бита,плата с spartan3e есть,
выведенные пины ad0-32;c/be0-3;par;serr;perr;stop;devsel;trdy;irdy;frame;idsel;req;gnt;clk;rst;inta
устройство должно считать импульсы на входе плис по переднему фронту, а программа через драйвер должна читать и обнулить это значение.
Прошу просто руководить банкетом по шагам sm.gif буду делать как скажите и выкладывать код.
Первые шаги сделал, установил xilinx ISE настроил кабель связь есть, прочитал несколько раз спецификацию sm.gif , создал проект и добавил
VHDL module в нем описал интерфейс
Код
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
--*******************************************************************************
entity PciInterf  is
    port (
      RST          : in    std_logic;                      -- Reset    
      CLK          : in    std_logic;                      -- Clock    
      AD           : inout std_logic_vector(31 downto 0);  -- Address/Data Bus
      CBE          : in std_logic_vector(3 downto 0);      -- Command/Byte Enable
      PAR          : inout std_logic;                      -- Parity
      FRAME        : in std_logic;                            -- Transaction Frame
      IRDY         : in std_logic;                            -- Initiator Ready
      TRDY         : inout std_logic;                        -- Target Ready
      DEVSEL       : inout std_logic;                      -- Device Select
      STOP         : inout std_logic;                        -- Stop transaction
      IDSEL        : in    std_logic;                      -- Chip Select
      PERR         : inout std_logic;                        -- Parity Error (s/t/s)
      SERR         : inout std_logic;                        -- System Error (o/d)
      INTA         : inout std_logic;                      -- Interrupt pin (o/d)
        
        COUNTPIN     : in std_logic                          --

    );
end PciInterf;
--*******************************************************************************
architecture Behavioral of PciInterf is

begin


end Behavioral;
--*******************************************************************************

В ucf файле связал интерфейс с пинам на микросхеме
Код
NET "AD<0>"     LOC = "P50"  | IOSTANDARD = PCI33_3;
NET "AD<10>"    LOC = "P34"  | IOSTANDARD = PCI33_3;
NET "AD<11>"    LOC = "P33"  | IOSTANDARD = PCI33_3;
NET "AD<12>"    LOC = "P31"  | IOSTANDARD = PCI33_3;
NET "AD<13>"    LOC = "P30"  | IOSTANDARD = PCI33_3;
NET "AD<14>"    LOC = "P29"  | IOSTANDARD = PCI33_3;
NET "AD<15>"    LOC = "P28"  | IOSTANDARD = PCI33_3;
NET "AD<16>"    LOC = "P25"  | IOSTANDARD = PCI33_3;
NET "AD<17>"    LOC = "P24"  | IOSTANDARD = PCI33_3;
NET "AD<18>"    LOC = "P23"  | IOSTANDARD = PCI33_3;
NET "AD<19>"    LOC = "P22"  | IOSTANDARD = PCI33_3;
NET "AD<1>"     LOC = "P49"  | IOSTANDARD = PCI33_3;
NET "AD<20>"    LOC = "P19"  | IOSTANDARD = PCI33_3;
NET "AD<21>"    LOC = "P18"  | IOSTANDARD = PCI33_3;
NET "AD<22>"    LOC = "P16"  | IOSTANDARD = PCI33_3;
NET "AD<23>"    LOC = "P15"  | IOSTANDARD = PCI33_3;
NET "AD<24>"    LOC = "P12"  | IOSTANDARD = PCI33_3;
NET "AD<25>"    LOC = "P11"  | IOSTANDARD = PCI33_3;
NET "AD<26>"    LOC = "P9"   | IOSTANDARD = PCI33_3;
NET "AD<27>"    LOC = "P8"   | IOSTANDARD = PCI33_3;
NET "AD<28>"    LOC = "P5"   | IOSTANDARD = PCI33_3;
NET "AD<29>"    LOC = "P4"   | IOSTANDARD = PCI33_3;
NET "AD<2>"     LOC = "P48"  | IOSTANDARD = PCI33_3;
NET "AD<30>"    LOC = "P3"   | IOSTANDARD = PCI33_3;
NET "AD<31>"    LOC = "P2"   | IOSTANDARD = PCI33_3;
NET "AD<3>"     LOC = "P47"  | IOSTANDARD = PCI33_3;
NET "AD<4>"     LOC = "P42"  | IOSTANDARD = PCI33_3;
NET "AD<5>"     LOC = "P41"  | IOSTANDARD = PCI33_3;
NET "AD<6>"     LOC = "P40"  | IOSTANDARD = PCI33_3;
NET "AD<7>"     LOC = "P39"  | IOSTANDARD = PCI33_3;
NET "AD<8>"     LOC = "P36"  | IOSTANDARD = PCI33_3;
NET "AD<9>"     LOC = "P35"  | IOSTANDARD = PCI33_3;

NET "CBE<0>"    LOC = "P60"  | IOSTANDARD = PCI33_3;
NET "CBE<1>"    LOC = "P62"  | IOSTANDARD = PCI33_3;
NET "CBE<2>"    LOC = "P202" | IOSTANDARD = PCI33_3;
NET "CBE<3>"    LOC = "P199" | IOSTANDARD = PCI33_3;

NET "CLK"       LOC = "P186" | IOSTANDARD = PCI33_3;
NET "DEVSEL"    LOC = "P68"  | IOSTANDARD = PCI33_3;
NET "FRAME"     LOC = "P203" | IOSTANDARD = PCI33_3;
NET "IDSEL"     LOC = "P14"  | IOSTANDARD = PCI33_3;
NET "INTA"      LOC = "P193" | IOSTANDARD = PCI33_3;
NET "IRDY"      LOC = "P200" | IOSTANDARD = PCI33_3;

NET "PAR"       LOC = "P45"  | IOSTANDARD = PCI33_3;
NET "PERR"      LOC = "P64"  | IOSTANDARD = PCI33_3;
NET "RST"       LOC = "P194" | IOSTANDARD = PCI33_3;
NET "SERR"      LOC = "P63"  | IOSTANDARD = PCI33_3;
NET "STOP"      LOC = "P65"  | IOSTANDARD = PCI33_3;
NET "TRDY"      LOC = "P205" | IOSTANDARD = PCI33_3;


NET "COUNTPIN"  LOC = "P20"  | IOSTANDARD = PCI33_3;

Что дальше сделать подскажите ?

Сообщение отредактировал sergey sva - Aug 30 2011, 19:04
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sergey sva   pci интерфейс по шагам   Aug 30 2011, 18:59
- - vitan   Счетчик отдельно, а PCI отдельно. Напишите уж снач...   Aug 30 2011, 19:18
- - XVR   Если вы хотите, что бы ваше устройство увидела ОС,...   Aug 31 2011, 04:29
- - sergey sva   ЦитатаЯ когда то писал PCI Target, но он так и ост...   Aug 31 2011, 06:26
- - iosifk   Цитата(sergey sva @ Aug 30 2011, 22:59) В...   Aug 31 2011, 06:36
- - sergey sva   Можно миллион книг прочитать и толку будет мало. Ц...   Aug 31 2011, 06:50
|- - iosifk   Цитата(sergey sva @ Aug 31 2011, 10:50) М...   Aug 31 2011, 08:32
|- - iosifk   Цитата(sergey sva @ Aug 31 2011, 10:50) ....   Aug 31 2011, 09:03
- - sergey sva   спасибо, Петрова не читал сейчас поищу.   Aug 31 2011, 08:51
- - XVR   Обещанные сорцы (хотя они вряд ли помогут - комент...   Aug 31 2011, 17:00
- - sergey sva   ЦитатаОбещанные сорцы (хотя они вряд ли помогут - ...   Aug 31 2011, 18:30
- - tAmega   Вот две корки и небольшая статья. Корки рабочие, о...   Sep 1 2011, 02:13
- - sergey sva   спасибо, сейчас посмотрю. Как можно проверить в ка...   Sep 1 2011, 04:30
|- - iosifk   Цитата(sergey sva @ Sep 1 2011, 08:30) сп...   Sep 1 2011, 04:40
- - sergey sva   С vhdl еще не освоился простой вопрос в папке pci...   Sep 1 2011, 05:37
- - sergey sva   С этим разобрался, например в одном файле Кодpacka...   Sep 1 2011, 07:38
- - sergey sva   До этого немного разбирался с квартусом там после ...   Sep 1 2011, 08:55
- - Kuzmi4   2 sergey sva определять так же как и в квартусе ...   Sep 1 2011, 09:01
- - sergey sva   ЦитатаSet us Top Module если он сам не догадался ...   Sep 1 2011, 09:13
- - tAmega   Файл главный pci_app.vhd Определяется просто, кажд...   Sep 1 2011, 11:14
- - sergey sva   Понятно так и думал)). Есть разница в протоколе ...   Sep 1 2011, 11:49
- - sergey sva   Еще проблема не могу настроить P14 (xc3s250) на вх...   Sep 1 2011, 17:34
- - sergey sva   С пустым проектом (схема вход через инвертор на вы...   Sep 1 2011, 18:58
- - tAmega   Не собирал проект pci_target, поэтому показать сво...   Sep 2 2011, 02:55
- - sergey sva   Вход P14 в документации написано не имеет не диодо...   Sep 2 2011, 04:28
- - tAmega   Воспользуйтесь другим входом. Он вообще поддержива...   Sep 2 2011, 09:22
- - sergey sva   Пробовал на всякие настраивать lvcmos pci..., все ...   Sep 2 2011, 11:42
|- - vitan   Цитата(sergey sva @ Sep 2 2011, 15:42) ес...   Sep 2 2011, 12:30
- - sergey sva   Порты IP, для чего они обычно используются? вызыва...   Sep 2 2011, 15:55
- - sergey sva   Взял пример c opencores pci32tlite_oc_R03 все собр...   Sep 4 2011, 17:59
- - gosu-art   sergey sva Ну как, у Вас заработал pci32tlite_oc_...   Nov 23 2011, 09:55


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01494 секунд с 7
ELECTRONIX ©2004-2016