Xin mấy anh cho biết làm thế nào để tính số CLB cần dùng không?Vì em xem tren Quartus || cua Altera thì nó thông báo số CL, còn ISE cua Xilinx thì thông báo số Slice.Mà bài toán của em là cần tính số CLB để so sánh.Ví dụ như Virtex thì 1 CLB có mấy slice?Em không tìm được tài liệu nói về cái này.Mấy anh chỉ em cách tính nhé.Cảm ơn mấy anh nhiều!
Thông báo
Collapse
No announcement yet.
Số CLB cần dùng!
Collapse
X
-
Các dòng bình thường của Xinlinx thì 1CLB có 2 slices, mỗi Slice có 2 LUTs, nhưng từ Virtex4 thì mỗi slice lại có 2 half-slices, mỗi half-slice có 2 LUTs.
Còn bên Altera thì họ gọi cái khái niệm tương đương với CLB là LAB, và mỗi LAB có 10 cái LE hay LC, mỗi cái này là 1 LUT.
Tuy nhiên nếu quy đổi tương đương theo kiểu dùng Quartus compile rồi quy đổi sang CLB của Xilinx thì tớ e là ko chính xác do cách thức của tool 2 bên là khác nhau, khi synthesize sẽ khác nhau phù hợp với cấu trúc phần cứng khác nhau của 2 hãng
-
Cảm ơn anh! Nhưng em thử Synthesize 1 bài chọn device là Virtex, em thu được kết quả là:
Number of Slices 8786
Number of 4 input LUTs 17230
sao tỉ lệ giửa LUT/ Slice khác 2 hả anh?
Nguyên văn bởi NEO3F Xem bài viếtCác dòng bình thường của Xinlinx thì 1CLB có 2 slices, mỗi Slice có 2 LUTs, nhưng từ Virtex4 thì mỗi slice lại có 2 half-slices, mỗi half-slice có 2 LUTs.Last edited by gacon_hihi; 10-11-2007, 21:07.|
Comment
-
Cảm ơn anh Jefflieu. Cho em hỏi thêm câu nửa anh nhé, nếu như em viết 1 hàm F_3_2, có 3 input và 2 out, như vậy mình dùng 1 CLB, em sử dụng hàm F_3_2 để xây dựng lên hàm F_12_8 gồm 12 đầu vào và 8 đầu ra, tức là em dùng 4 hàm F_3_2 song song nhau, vậy số CLB có thể nhỏ hơn 4 đúng không anh?|
Comment
-
Ý em là thế này anh: Em muốn viết 1 hàm có tên là F_12_8, hàm này có 12 input va 8 out put. Để làm điều này, em viết 1 hàm con là có tên là f_3_2, hàm này có 3 input va 2 out put.Sau đó em dùng hàm 4 hàm f_3_2 để xây dựng nên hàm F. Em phụ họa sơ như sau, như thế thì liệu em có tốn 4 CLB hay không?Hay nhỏ hơn ạ?
f_3_2:
port
{
x1:in std_logic;
x2:in std_logic;
x3:in in std_logic;
y1: out std_logic;
y2: out std_logic
}
-------
y1<=x1 xor x2;
y2<=x1 xor x2 xor x3;
-------
/////////////////////////////////////////
F_12_8
port
{
X: in std_logic_vector(1 to 12);
Y: out std_logic_vector(1 to 8)
}
-----
f1: port map f_3_2(X(1),X(2),X(3),Y(1),Y(2));
f2: port map f_3_2(X(4),X(5),X(6),Y(3),Y(4));
f3: port map f_3_2((X(7),X(8),X(9),Y(5),Y(6));
f4: port map f_3_2((X(10),X(11),X(12),Y(7),Y(8));
-------|
Comment
-
moi f_3_2 to'n 2 LUT -->Tren ly' thuyet se to'n 8 LUT (Look-up table) ... chi ca`n 1 CLB de co' 8 LUT ... (ko tin thi coi Datasheet) ... (moi CLB co' 4 slice, moi slice co' 2 LUTs) ... Neu e ra~nh thi code thu? roi du`ng FPGA editor (ke`m voi ISE) tu*. place and route de kiem tra xem co' du'ng chi? ca`n du`ng 1 CLB ko? ...
virtex datasheet, coi phan CLB http://www.xilinx.com/support/docume.../virtex-ii.htmLast edited by jefflieu; 12-11-2007, 23:28.
Comment
-
Cảm ơn anh Jefflieu!Em không hiểu 1 điểm này nửa anh.Em dung F_3_2 để xây dựng nên F_20_8, tức là em dùng 12 hàm F_3_2 chia thành 3 lớp, mỗi lớp có 4 hàm F_3_2, đầu ra của mỗi hàm F_3_2 của lớp trên làm đầu vào của hàm F_3_2 ở lớp dưới, như đoạn code dưới. Nếu như tính toán trên thì ta sẽ dùng 12 slices, nhưng kết quả em mô phỏng cho thấy là đã dùng 14 slices, vậy 2 slices dùng để làm gì hả anh?
library ieee;
use ieee.std_logic_1164.all;
entity f_20_8 is port
(
inblock : in std_logic_vector(1 to 8);
vt : in std_logic_vector(1 to 12);
outblock : out std_logic_vector(1 to 8)
);
end f_20_8;
architecture behaviour of f_20_8 is
component f_3_2
port(
x1 : in std_logic;
x2 : in std_logic;
v : in std_logic;
o1 : out std_logic;
o2 : out std_logic
);
end component;
signal xx1,xx2,x3,x4,x5,x6,x7,x8 : std_logic;
signal x21,x22,x23,x24,x25,x26,x27,x28 : std_logic;
signal x31,x32,x33,x34,x35,x36,x37,x38 : std_logic;
begin
---vector vt tham gia vao ca 3 lop
---lop 1---
f1: f_3_2 port map(x1=>inblock(1), x2=>inblock(2), v=>vt(1), o1=>xx1, o2=>xx2);
f2: f_3_2 port map(x1=>inblock(3), x2=>inblock(4), v=>vt(2), o1=>x3, o2=>x4);
f3: f_3_2 port map(x1=>inblock(5), x2=>inblock(6), v=>vt(3), o1=>x5, o2=>x6);
f4: f_3_2 port map(x1=>inblock(7), x2=>inblock(8), v=>vt(4), o1=>x7, o2=>x8);
---lop 2---- xx1,xx2,x3,x4,x5,x6,x7,x8 lam dau vao cho lop thu 2
f5: f_3_2 port map(x1=>xx1, x2=>x5, v=>vt(5), o1=>x21, o2=>x22);
f6: f_3_2 port map(x1=>xx2, x2=>x6, v=>vt(6), o1=>x23, o2=>x24);
f7: f_3_2 port map(x1=>x3, x2=>x7, v=>vt(7), o1=>x25, o2=>x26);
f8: f_3_2 port map(x1=>x4, x2=>x8, v=>vt(8), o1=>x27, o2=>x28);
---lop 3--- x21,x22,x23,x24,x25,x26,x27,x28 lam dau vao cho lop thu 3
f9 : f_3_2 port map(x1=>x21, x2=>x25, v=>vt(9), o1=>x31, o2=>x32);
f10: f_3_2 port map(x1=>x22, x2=>x26, v=>vt(10), o1=>x33, o2=>x34);
f11: f_3_2 port map(x1=>x23, x2=>x27, v=>vt(11), o1=>x35, o2=>x36);
f12: f_3_2 port map(x1=>x24, x2=>x28, v=>vt(12), o1=>x37, o2=>x38);
outblock<= x31 & x32 & x33 & x34 & x35 & x36 & x37 & x38;
end;Last edited by gacon_hihi; 14-11-2007, 01:59.|
Comment
-
Hehe, hok biet nua ! , ma` co' dung so' LUT la` 24 ko?, co`n so slice thi chiu, ko biet no tinh bang cach na`o ... e Implement (Map roi PAR) xong roi vo FPGA editor coi 2 slice no' la`m gi, nhieu khi no' ko xa`i het 2 LUT tren 1 slice dau ... ma` e ti`m hieu cai nay chi vay? Cai nay software no lam` de y' lam gi...
Comment
-
Đúng là dùng hết 24 LUTs anh ạ.Nhưng đi đâu mất 2 slice thi em hổng biết nửa!Em vào FPGA Editor nhưng không thu được kết quả nào...Thui giống như anh nói, không phải LUT cua slices nào cũng được dùng, nên có thể nó xảy ra trường hợp đó, hihi kiểu này là máy nó không tối ưu hóa rùi anh nhỉ?
Mà anh ơi, kết quả khi mình Synthesize và Implement Design, nó thông báo chỉ số slices khác nhau, vậy khi sản xuất con chip cho mạch đó thì mình dùng chỉ số nảo vậy anh?Last edited by gacon_hihi; 15-11-2007, 04:43.|
Comment
-
Sau Synthesize cai tan so' do' ko co' du'ng lam ... (Xilinx co' noi coi timing report sau Implementation moid du'ng). Sau khi Implement co' phan "timing report", neu nhu ko co' lo^~i gi thi mach chay duoc voi tan so' < hoa(.c = tan so' da chi ra trong phan timing Constraint
Comment
-
Nguyên văn bởi jefflieu Xem bài viếtSau Synthesize cai tan so' do' ko co' du'ng lam ... (Xilinx co' noi coi timing report sau Implementation moid du'ng). Sau khi Implement co' phan "timing report", neu nhu ko co' lo^~i gi thi mach chay duoc voi tan so' < hoa(.c = tan so' da chi ra trong phan timing Constraint|
Comment
Bài viết mới nhất
Collapse
-
bởi tungdqEm cần tìm sơ đồ mạch một số Main máy tính đời cao như Asrock B560M-HDV, các cao nhân chỉ giúp với. Thank!
-
Channel: Các mạch điện ứng dụng
Hôm qua, 08:27 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment