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
-
Hic anh ơi, sao em implement xong em không nhìn thấy timming report ở đâu cả anh ạ. Anh có thể nói cho em với được không ạ?làm phiền anh nhiều quá. hic hicNguyê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
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
06-12-2025, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -

Comment