interfacing PCI9054 trong chế độ burst, cần giúp đỡ!

J

janlee

Guest
Trong dự án của tôi tôi sử dụng PCI9054 "C Mode" để kiểm soát hành vi FPGA và PCI9054 khác peripherals.Acturally như chủ xe buýt địa phương và mục tiêu PCI.

Tôi thành công nhận ra chu kỳ tín hiệu 32 bit đọc & write.But nó khá chậm, khoảng cách giữa hai liên tục đọc hay ghi được hơn 12 us.To kiểm soát đăng ký trong FPGA không phải là một vấn đề, nhưng để chuyển khối lượng lớn dữ liệu trong thời gian thực nó không phải là accecptable.

Bây giờ câu hỏi của tôi là làm thế nào để cấu hình PCI9054 để lanch một chuyển khoản qua burst Chức PLX's (Tôi tự hỏi mà tôi có thể sử dụng chức năng), và làm thế nào để sửa đổi mã của tôi để thích ứng với chuyển giao này.

Nhiều appreciations.

Mã số:---------------------------------------------

- Module: PCI9054 giao diện Module

- File: PCI9054_IF.vhd

- Thư viện: IEEE;

- Mô tả: PCI9054 giao diện điều khiển

- Simulator: Modelsim 5.8/WindowsXP

- Synthesizer:

- Tác giả:

- Khởi tạo: 07 tháng sáu năm 2006

- Ngày cập nhật: 25/07/2006

---------------------------------------------thư viện ieee;

ieee.std_logic_1164.all sử dụng;

ieee.std_logic_unsigned.all sử dụng;

ieee.std_logic_arith.all sử dụng;thực thể là PCI9054_IF

port (

RST_N: in std_logic;

LCLK: in std_logic;

LHOLD: in std_logic;

ADS_N: in std_logic;

BLAST_N: in std_logic;

LWDRD_N: in std_logic;

LA: in std_logic_vector (31 downto 2);

LD: InOut std_logic_vector (31 downto 0);

LHOLDA: out std_logic;

READY_N: out std_logic;

ACK_n: in std_logic;

WR_n: out std_logic;

RD_n: out std_logic);

cuối PCI9054_IF;kiến trúc RTL của PCI9054_IF là

Loại STATE_TYPE là (IDLE, START, WAITSTATE, LAST);

tín hiệu CURRENT_STATE, NEXT_STATE: STATE_TYPE;

tín hiệu iready_n: std_logic;tín hiệu iwr_n, ird_n: std_logic;

tín hiệu iaddr: std_logic_vector (31 downto 2);bắt đầu--

- Grant cho yêu cầu xe buýt địa phương

quá trình (LCLK)

bắt đầu

nếu (LCLK'event và LCLK = '1 ') sau đó

nếu LHOLD = '1 'rồi

LHOLDA <= LHOLD;

khác

LHOLDA <= '0 ';

nếu kết thúc;

nếu kết thúc;

kết thúc quá trình;- Nhà nước Máy Transition

quá trình (LCLK)

bắt đầu

nếu RST_n = '0 'rồi

CURRENT_STATE <= IDLE;

elsif (LCLK'event và LCLK = '1 ') sau đó

CURRENT_STATE <= NEXT_STATE;nếu CURRENT_STATE = IDLE và ADS_N = '0 'rồi

iaddr <= LA;

nếu kết thúc;READY_n <= iready_n;nếu kết thúc;

kết thúc quá trình;- Nhà nước máy

quá trình (CURRENT_STATE, ADS_N, LWDRD_N, BLAST_N, ACK_n)

bắt đầu

NEXT_STATE <= CURRENT_STATE;

trường hợp là CURRENT_STATE

khi IDLE =>

RD_n <= '1 ';

WR_n <= '1 ';

iready_n <= '1 ';

nếu ADS_N = '0 'rồi

NEXT_STATE <= START;

khác

NEXT_STATE <= IDLE;

nếu kết thúc;khi START =>

RD_n <= '1 ';

WR_n <= '1 ';

iready_n <= '1 ';

nếu BLAST_N = '0 'rồi

NEXT_STATE <= WAITSTATE;

khác

NEXT_STATE <= START;

nếu kết thúc;khi WAITSTATE =>

RD_n <= LWDRD_N;

WR_n <= không LWDRD_N;nếu iaddr (31 downto 4) = B "0010_0000_0000_0000_1001_0000_0000" sau đó

nếu ACK_n = '0 'rồi

NEXT_STATE <= LAST;

iready_n <= '0 ';

khác

NEXT_STATE <= WAITSTATE;

iready_n <= '1 ';

nếu kết thúc;

khác

NEXT_STATE <= LAST;

iready_n <= '0 ';

nếu kết thúc;khi LAST =>

RD_n <= '1 ';

WR_n <= '1 ';

iready_n <= '1 ';

nếu ADS_N = '1 'và BLAST_N = '1' rồi

NEXT_STATE <= IDLE;

elsif ADS_N = '0 'rồi

NEXT_STATE <= START;

khác

NEXT_STATE <= LAST;

nếu kết thúc;khi những người khác =>

RD_n <= '1 ';

WR_n <= '1 ';

iready_n <= '1 ';

NEXT_STATE <= IDLE;

kết thúc vụ án;

kết thúc quá trình;end RTL;

 
PLX lập trình hướng dẫn
Xin lỗi, nhưng bạn cần phải đăng nhập để xem tập tin đính kèm này

 
HI !!!!!
i am doing PCI Bridge 9.052 dự án ...
Đến bây giờ tôi bắt đầu viết forPCIbridge mã HDL, cho PLX
9.052 là tài liệu tham khảo của tôi.Tôi đã đi qua 9.052.
i cho tôi một số mã tham chiếu sẽ được biết ơn.và u có thể cho tôi biết sự khác biệt betsween PLX
9.052 hay 9.054 n 9.050 vi mạch?
như thế với availble mã trên opencores.com cho PCI Bridge sẽ giống như những gì tôi muốn???

có thể i nhà nước với VHDL hoặc Verilog là fesible????

Tôi đã hiểu các giao thức.Nhưng i donot
biết chi tiết thiết kế nội bộ của chip đó.
hãy giúp đỡ tôi.nếu đã làm bất kỳ dự án của loại này xin vui lòng gửi
thiết kế chi tiết của nó.u có thể mail nó id email của tôi.làm thế nào để
bắt đầu ????. ????? cấp mô-đun như thế nào?
bạn có thể email tôi tại swappy.best (at) gmail.com

đang chờ trả lời ur
Swapnil Deshpande

 

Welcome to EDABoard.com

Sponsor

Back
Top