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

 
 
> 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
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 30)
vitan
сообщение Aug 30 2011, 19:18
Сообщение #2


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Счетчик отдельно, а PCI отдельно. Напишите уж сначала счетчик, сигналы управления от него выведите на PCI. Лучше, видимо, для этого придумать некий регистр управления, который будет доступен со стороны PCI. Битики в регистре придумайте. Скачайте с opencores pci_target. Ну и т.п....
Go to the top of the page
 
+Quote Post
XVR
сообщение Aug 31 2011, 04:29
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Если вы хотите, что бы ваше устройство увидела ОС, то одним регистром вам не отделаться.

Вам необходимо будет так же реализовать Config Space с BAR0 (как минимум)

Собственно корку можно поделить на 3 части -

1). Front End - общение с протоколом PCI и выделение отдельных транзакций (запись/чтение, Config/BAR0). Возможно проверка ошибок.

2) Обработка запросов к Configuration Space. Все необходимые регистры (и BAR0)

3) Собственно декодер адреса на BAR0 (может быть во Fromt End'e) и ваш конечный регистр



Я когда то писал PCI Target, но он так и остался недоотлаженным, увы. (На Verlog'е). Могу поделится, если надо (~1000 строк Verilog'а)
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Aug 31 2011, 06:26
Сообщение #4


Гуру
******

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



Цитата
Я когда то писал PCI Target, но он так и остался недоотлаженным, увы. (На Verlog'е). Могу поделится, если надо (~1000 строк Verilog'а)

Буду очень благодарен asv-lab@yandex.ru
Цитата
сигналы управления от него выведите на PCI. Лучше, видимо, для этого придумать некий регистр управления, который будет доступен со стороны PCI.

Добавить в интерфейс CVALUE ?
Код
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)

     CVALUE    : out std_logic_vector(7 downto 0);   -- value of counter





Простенький счетчик может конечно что не так, поправьте
Код
--*******************************************************************
entity Counter is
   port (
      RESET, COUNTPIN   : in  std_logic;
      CVALUE            : out std_logic_vector(7 downto 0)
    );      
end Counter;
--*******************************************************************
architecture beh of Counter is
   signal COUNT_VALUE : std_logic_vector(7 downto 0);
begin
    process(RESET,COUNTPIN)
    begin
        if(RESET = '1')then
            COUNT_VALUE <= 0;
        else if(COUNTPIN'event and COUNTPIN = '1') then
            COUNT_VALUE <= COUNT_VALUE +1;
        end if;

    end
CVALUE <= COUNT_VALUE;
end beh;
--*******************************************************************



Сообщение отредактировал sergey sva - Aug 31 2011, 06:40
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 31 2011, 06:36
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(sergey sva @ Aug 30 2011, 22:59) *
Возникла необходимость изучить интерфейс pci и vhdl, прочитал спецификацию несколько раз, набрал исходников, но логические цепочки в моем мозгу не собираются. Информации много не знай с чего начать.
...
Что дальше сделать подскажите ?


Сергей, Вы уж извините, но что за детский сад Вы здесь развели! Вам надо изучить что-то и Вы готовы всю конференцию превратить в собственную няньку.
Сейчас не конец 90-х. Литературы, даже на русском полно. Читайте про интерфейсы у Гука.
В каждой третьей книге именно PCI проект описан и разжеван.. Открытых проектов - полно. Посмотритте сначала их, а уже потом заводите игры в конференции.
А уж про счетчик так и вовсе писать стыдно! И в Ксайлинсовском ИСЕ и в Квартусе и в Моделсиме есть шаблоны. И шаблоны счетчиков в том числе. И вообще, на кой он Вам дался, счетчик. Сделайте просто константу и читайте ее через PCI.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Aug 31 2011, 06:50
Сообщение #6


Гуру
******

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



Можно миллион книг прочитать и толку будет мало.
Цитата
А уж про счетчик так и вовсе писать стыдно!

Где стыд был теперь микросхема ))
iosifk ,посмотрел вашу страничку, вам приходилось разрабатывать устройства с pci, просто вам показался вопрос слишком простыми и поэтому тема вызвала такую реакцию.


Сообщение отредактировал sergey sva - Aug 31 2011, 07:46
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 31 2011, 08:32
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(sergey sva @ Aug 31 2011, 10:50) *
Можно миллион книг прочитать и толку будет мало.


А вот это - не правда. Что же, все авторы идиоты?

Пытался загрузить PCI System Arhitecture by don andersen. Но это 7 Мег, многовато...
И еще "Сергей Петров, PCI, PCI express. Архитектура, дизайн, принципы функционирования"...

Я то вообще делал свой проект, когда не то что книг, а даже стандарт в сети с трудом нашли... Так что ищите книги и смотрите AN у Альтеры и у Ксайлинкса, Актела...

Приложенный файлик - это пример. Я его не проверял. Но на opencores должны быть проекты...
Прикрепленные файлы
Прикрепленный файл  PCI.ZIP ( 469.07 килобайт ) Кол-во скачиваний: 46
 


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Aug 31 2011, 08:51
Сообщение #8


Гуру
******

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



спасибо, Петрова не читал сейчас поищу.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 31 2011, 09:03
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(sergey sva @ Aug 31 2011, 10:50) *
... просто вам показался вопрос слишком простыми....


Да, кстати, я еще тогда напоролся на такой прикол. В качестве материнки была взята плата пром-PC от Адвантеча. Так вот она упорно не воспринимала мою карту, хотя все было верно и регистры читались по непосредственным адресам... А в обычной, бытовой материнке эта же карта работала. Думаю, что Адвантечевская плата не признавала "чужие" карты...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
XVR
сообщение Aug 31 2011, 17:00
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Обещанные сорцы (хотя они вряд ли помогут - коментариями они не избалованны да и баги могут быть)

Прикрепленный файл  pci.zip ( 9.48 килобайт ) Кол-во скачиваний: 118
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Aug 31 2011, 18:30
Сообщение #11


Гуру
******

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



Цитата
Обещанные сорцы (хотя они вряд ли помогут - коментариями они не избалованны да и баги могут быть)

Спасибо, помогут есть в чем разбираться уже хорошо ))
Go to the top of the page
 
+Quote Post
tAmega
сообщение Sep 1 2011, 02:13
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 474
Регистрация: 20-01-09
Из: НН
Пользователь №: 43 639



Вот две корки и небольшая статья.
Корки рабочие, одна с opencores другая наша, обе не мои.
За pci_target автор говорил что стопудово рабочая корка.
Корка с open cores также идет под грифом "FPGA proven".


--------------------
пользователь отключен
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 1 2011, 04:30
Сообщение #13


Гуру
******

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



спасибо, сейчас посмотрю.
Как можно проверить в каком состоянии pci мастер, или что может вызывать такое: если плата (устройство taerget) стерто компьютер включается нормально, но если загрузить прошивку то при включении не появляется даже стартовый экран, просто работают вентиляторы,если плату вытащить в этот момент(знаю так делать не желательно) то компьютер начинает загружаться появляется стартовый экран? (какие сигналы это могут вызвать)

Сообщение отредактировал sergey sva - Sep 1 2011, 04:32
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 1 2011, 04:40
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(sergey sva @ Sep 1 2011, 08:30) *
спасибо, сейчас посмотрю.
Как можно проверить в каком состоянии pci мастер, или что может вызывать такое: если плата (устройство taerget) стерто компьютер включается нормально, но если загрузить прошивку то при включении не появляется даже стартовый экран, просто работают вентиляторы,если плату вытащить в этот момент(знаю так делать не желательно) то компьютер начинает загружаться появляется стартовый экран? (какие сигналы это могут вызвать)

Это значит, что какой то из сигналов не снялся и остался активным. Чтобы плату н дергать сделайте кнопку или джампер, который бы сбрасывал автомат таргета в исходное и тристейтил бы ответные сигналы. А вообще то надо подцепить осцилл и смотреть конкретно... Либо прицепить пяток светодиодов на плату и на них вывести ваши сигналы...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 1 2011, 05:37
Сообщение #15


Гуру
******

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



С vhdl еще не освоился простой вопрос в папке pcitarget несколько файлов как определить какой должен быть TOP и их достаточно добавить в проект что то типа include как в си не нужно?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 1 2011, 07:38
Сообщение #16


Гуру
******

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



С этим разобрался, например в одном файле
Код
package CFGSPACE_SET is ......
а в другом чтобы использовать
Код
use WORK.CFGSPACE_SET.all;
поправьте если ошибаюсь.
А какой файл должен быть top set пока не понял.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 1 2011, 08:55
Сообщение #17


Гуру
******

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



До этого немного разбирался с квартусом там после добавления файла в менеджера проектов нужно было установить какой файл главный Project/Set As Top Level Entity. xilinx ise нет такого? Есть исходники из 13 файлов (ссылка в 12 посте) как определить какой главный?

Сообщение отредактировал sergey sva - Sep 1 2011, 09:00
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 1 2011, 09:01
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 sergey sva
определять так же как и в квартусе laughing.gif или правой клавишей на фале и в меню выбрать Set us Top Module если он сам не догадался
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 1 2011, 09:13
Сообщение #19


Гуру
******

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



Цитата
Set us Top Module если он сам не догадался

Наверно сам догадался )) потому что кнопка не активна, вот это и стало не понятно. А как определить где главный файл , и больше не буду задавать таких детских вопросов ))?
Go to the top of the page
 
+Quote Post
tAmega
сообщение Sep 1 2011, 11:14
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 474
Регистрация: 20-01-09
Из: НН
Пользователь №: 43 639



Файл главный pci_app.vhd
Определяется просто, каждый из файлов содержит в архитектуре компоненты, другие файлы.
Самый верхний файл не сидит нигде в компонентах, а все остальные так или иначе входят в качестве компонентов в иерархию.
Вот так и здесь pci_app.vhd = содержит компоненты PCI_T32 и USER_APP, далее PCI_T32 содержит компоненты CHECK_PAR, PCI_IO_VIRTEX, PCI_CMD_ADR, CFG_SPACE. И так далее...


--------------------
пользователь отключен
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 1 2011, 11:49
Сообщение #21


Гуру
******

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



Понятно так и думал)).
Есть разница в протоколе pci 33 /66/133 кроме времени ?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 1 2011, 17:34
Сообщение #22


Гуру
******

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



Еще проблема не могу настроить P14 (xc3s250) на вход в документации написано что работает только на вход
Цитата
Unrestricted, general-purpose input-only pin. This pin does not have an
output structure, differential termination resistor, or PCI clamp diode

Planahead ругается
Прикрепленное изображение
В чем может быть дело?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 1 2011, 18:58
Сообщение #23


Гуру
******

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



С пустым проектом (схема вход через инвертор на выход ) P14 назначается нормально на вход.
А если с проектом из 12поста (pci target) выходит эта ошибка.
idsel должен работать как вход.
Прикрепленное изображение

Прикрепленное изображение


Сообщение отредактировал sergey sva - Sep 1 2011, 19:16
Go to the top of the page
 
+Quote Post
tAmega
сообщение Sep 2 2011, 02:55
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 474
Регистрация: 20-01-09
Из: НН
Пользователь №: 43 639



Не собирал проект pci_target, поэтому показать свою версию не могу.
Судя по сообщению, он пишет "ничем не ограниченный вход", а поскольку Вы делаете контроллер для шины PCI, которая предполагает выбросы, софт советует подключить либо резисторы, либо clamp диоды, которые не позволят выбросам быть больше чем размах питания. Почитайте аппноты по PCI для данного софта. И у Альтеры и у Xilinx есть корки PCI, и там же можно посмотреть как именно они разбираются с пинами в ucf файле. Или качните самопальные проекты из сети, которые хотя бы компилятся, там увидите как настроить внешний интерфейс.


--------------------
пользователь отключен
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 2 2011, 04:28
Сообщение #25


Гуру
******

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



Вход P14 в документации написано не имеет не диодов ни резисторов и работает только на вход
Из документации
Цитата
nrestricted, general-purpose input-only pin. This pin does not have an
output structure, differential termination resistor, or PCI clamp diode

Подозреваю где-то в проекте как то связано с входом IDSEL_p что вызывает такую ошибку,может ошибаюсь, где посмотреть нет мыслей. подкиньте мысль))

Сообщение отредактировал sergey sva - Sep 2 2011, 04:31
Go to the top of the page
 
+Quote Post
tAmega
сообщение Sep 2 2011, 09:22
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 474
Регистрация: 20-01-09
Из: НН
Пользователь №: 43 639



Воспользуйтесь другим входом. Он вообще поддерживает PCI33 или нет.
Возможно Вы пытаетесь настроить на PCI шину вход, который для этого не предназначен.


--------------------
пользователь отключен
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 2 2011, 11:42
Сообщение #27


Гуру
******

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



Пробовал на всякие настраивать lvcmos pci..., все время эта ошибка. пробовал сделать новый проект с примитивным кодом один вход и один выход через инвертор, ошибок не было.
Получается что дело в исходнике, пока нет идей что смотреть, если у кого есть подкиньте))

Сообщение отредактировал sergey sva - Sep 2 2011, 11:48
Go to the top of the page
 
+Quote Post
vitan
сообщение Sep 2 2011, 12:30
Сообщение #28


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Цитата(sergey sva @ Sep 2 2011, 15:42) *
если у кого есть подкиньте))

Не работал с ксайлинксом, но думаю, что на этом пине в настройках проекта включено что-то типа глобального ресета или клока с помощью каких-нибудь галочек. Если пытаться на такой пин что-то назначить из исходников, то будет ошибка.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 2 2011, 15:55
Сообщение #29


Гуру
******

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



Порты IP, для чего они обычно используются?
вызывает ошибку(в 22 посте) мапинг
Код
  component IBUF is
     port(
         I: in std_logic;
         O: out std_logic
     ); end component;

IB2: IBUF port map(I => IDSEL_p, O => IDSELil);

Любой другой порт не IP, привязанный к IDSEL_p не вызывает ошибки. Что можно сделать?

Сообщение отредактировал sergey sva - Sep 2 2011, 19:05
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 4 2011, 17:59
Сообщение #30


Гуру
******

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



Взял пример c opencores pci32tlite_oc_R03 все собралось без ошибок, загрузил ,комп тоже стал запускаться.
dmidecode ведь должен показать vendorID deviceID ?
в коде задан
Код
generic (
    vendorID      : std_logic_vector(15 downto 0) := x"4150";
    deviceID      : std_logic_vector(15 downto 0) := x"0001";
    revisionID      : std_logic_vector(7 downto 0)  := x"90";
    subsystemID  : std_logic_vector(15 downto 0) := x"0000";
       subsystemvID : std_logic_vector(15 downto 0) := x"1172";
    classcodeID  : std_logic_vector(23 downto 0) := x"068000";
    -- BAR&WB_CFG (dont delete)
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Nov 23 2011, 09:55
Сообщение #31


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



sergey sva
Ну как, у Вас заработал pci32tlite_oc_R03? Вы его делали, если я не ошибаюсь, на Spartan 3E?
У меня вот такой вопрос...
Мне нужно сделать сейчас CompactPCI (замена CY7C09449), где будет стоять еще 16ть модулей. Прокачают ли такую нагрузку ноги Спартана? Или шинники лучше добавить?
Go to the top of the page
 
+Quote Post

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

 


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


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