À mà các bạn dùng systemc làm gì? Cái đoạn code này tớ viết bằng verilog cũng mấy chục dòng là xong đơn giản lắm mà.
Thông báo
Collapse
No announcement yet.
FPGA và các giải pháp ứng dụng trong Công Nghệ Quân Sự!
Collapse
X
-
Đúng, thiết kế này quá đơn giản để dùng systemC. Nhưng ai cũng bắt đầu từ đơn giản phải không?Nguyên văn bởi Rommel.de Xem bài viếtÀ mà các bạn dùng systemc làm gì? Cái đoạn code này tớ viết bằng verilog cũng mấy chục dòng là xong đơn giản lắm mà.Last edited by tonyvandinh; 15-07-2011, 04:42.
Comment
-
Tớ cũng bắt chước bạn Hithere123 viết chơi một đoạn verilog code. Các giá trị dùng để so sánh được đưa vào từ bên ngoài. Đoạn code có 43 dòng rất, rất đơn giản.
Các bạn thấy viết code để tạo xung quá dễ.Code:module Pulse_gen(Clk, enable, Cycle, P1_one, P1_zero, P2_one, P2_zero, P3_one, P3_zero, P4_one, P4_zero, P5_one, P5_zero, P1, P2, P3, P4, P5); input Clk, enable; input [9:0] Cycle, P1_one, P1_zero, P2_one, P2_zero, P3_one, P3_zero, P4_one, P4_zero, P5_one, P5_zero; output P1, P2, P3, P4, P5; reg P1, P2, P3, P4, P5; reg [9:0] Counter; wire Compare1, Compare2, Compare3, Compare4, Compare5; always @ (posedge Clk) begin if (enable==0) begin P1<=0; P2<=0; P3<=0; P4<=0; P5<=0; Counter<=0; end else begin if (Counter==Cycle) Counter<=0; else Counter<=Counter+1; if (Compare1==1) P1<=~P1; if (Compare2==1) P2<=~P2; if (Compare3==1) P3<=~P3; if (Compare4==1) P4<=~P4; if (Compare5==1) P5<=~P5; end // else: !if(enable==0) end // always (@ posedge Clk) assign Compare1=(((P1==1)?P1_zero:P1_one)==Counter); assign Compare2=(((P2==1)?P2_zero:P2_one)==Counter); assign Compare3=(((P3==1)?P3_zero:P3_one)==Counter); assign Compare4=(((P4==1)?P4_zero:P4_one)==Counter); assign Compare5=(((P5==1)?P5_zero:P5_one)==Counter); endmodule // Pulse_gen
Comment
-
Chào bạn Rommel.de,
Nói chung với phần tạo xung bằng FPGA, bạn cũng nhất trí dùng bộ đếm cho đơn giản, thêm nữa nếu xung đồng hồ cung cấp cho FPGA có sai số thì mình cũng đã đưa thêm ý tưởng calibration. Như vậy, phần tạo xung bằng FPGA đã có nhiều thảo luận tương đối rồi, bây giờ đợi xem bạn MTAPIC có đóng góp thêm gì không là mình có thể chuyển sang các phần tiếp theo.
Về cái này:
Mình định dùng "push-pull" tức là cần điều khiển cả việc kéo lên và kéo xuống vì yêu cầu về độ dốc sườn là khá cao. Nếu chì điều khiển việc kéo lên hoặc kéo xuống thì mình e là không đảm bảo yêu cầu về sườn. Còn tất nhiên việc chuyển từ 3.3V tại chân FPGA sang 20V-40V thì phải có nguyên tắc "levelshift" rồi. Không biết giải pháp của bạn MTAPIC cho phần này là như thế nào?Nguyên văn bởi Rommel.de Xem bài viếtVề phần công suất tớ chưa hiểu ý bạn về push-pull là như thế nào vì nếu tớ không nhầm thì push-pull là dùng để khuếch đại tín hiệu tương tự (ví dụ như tín hiệu sine). Đối với việc tạo xung vuông như vậy thì trong ASIC người ta dùng mạch level shifter, tiếp sau là một mạch tương tự như inverter mà thôi.
Thân mến,
Comment
-
Tạm dịch code của bạn ra systemCNguyên văn bởi Rommel.de Xem bài viếtTớ cũng bắt chước bạn Hithere123 viết chơi một đoạn verilog code. Các giá trị dùng để so sánh được đưa vào từ bên ngoài. Đoạn code có 43 dòng rất, rất đơn giản.
Các bạn thấy viết code để tạo xung quá dễ.Code:module Pulse_gen(Clk, enable, Cycle, P1_one, P1_zero, P2_one, P2_zero, P3_one, P3_zero, P4_one, P4_zero, P5_one, P5_zero, P1, P2, P3, P4, P5); input Clk, enable; input [9:0] Cycle, P1_one, P1_zero, P2_one, P2_zero, P3_one, P3_zero, P4_one, P4_zero, P5_one, P5_zero; output P1, P2, P3, P4, P5; reg P1, P2, P3, P4, P5; reg [9:0] Counter; wire Compare1, Compare2, Compare3, Compare4, Compare5; always @ (posedge Clk) begin if (enable==0) begin P1<=0; P2<=0; P3<=0; P4<=0; P5<=0; Counter<=0; end else begin if (Counter==Cycle) Counter<=0; else Counter<=Counter+1; if (Compare1==1) P1<=~P1; if (Compare2==1) P2<=~P2; if (Compare3==1) P3<=~P3; if (Compare4==1) P4<=~P4; if (Compare5==1) P5<=~P5; end // else: !if(enable==0) end // always (@ posedge Clk) assign Compare1=(((P1==1)?P1_zero:P1_one)==Counter); assign Compare2=(((P2==1)?P2_zero:P2_one)==Counter); assign Compare3=(((P3==1)?P3_zero:P3_one)==Counter); assign Compare4=(((P4==1)?P4_zero:P4_one)==Counter); assign Compare5=(((P5==1)?P5_zero:P5_one)==Counter); endmodule // Pulse_gen
. Cũng rất đơn giản thôi.
Code:#include <systemc.h> #define NUM_CLK 5 typedef sc_uint<9> uint9; SC_MODULE(Pulse_gen_mod) { sc_in<bool> clk; sc_in<bool> reset; sc_in<bool> enable; sc_in<uint9> cycle; sc_in<uint9> zero[NUM_CLK]; sc_in<uint9> one[NUM_CLK]; sc_out<bool> P[NUM_CLK]; uint9 counter; bool t_P[NUM_CLK]; void Pulse_gen_do_it() { bool compare; if (reset.read()) { counter = 0; for (int i=0; i<NUM_CLK; i++) t_P[i] = 0; } else if (enable.read()) { for (int i=0; i<NUM_CLK; i++) { compare = ((t_P[i]?zero[i].read():one[i].read())==counter); if (compare) t_P[i] ^= 1; } if (counter < cycle.read()) counter++; else counter = 0; } for (int i=0; i<NUM_CLK; i++) P[i].write(t_P[i]); } SC_CTOR(Pulse_gen_mod): clk("clk"), reset("reset"), enable("enable") { SC_METHOD(Pulse_gen_do_it); sensitive << clk.pos(); } };Last edited by tonyvandinh; 16-07-2011, 08:36.
Comment
-
Chào anh Tony,
Ngay xưa em có dùng qua systemC nhưng mà về sau không dùng nữa nên quên hết rồi. Nên em muốn hỏi lại anh mấy thứ về đoạn code anh viết ở trên. Nếu anh thấy ngớ ngẩn thì cũng đừng cười vì em quên hết rồi.
Trong đoạn code em viết thì Compare1,2,3,4,5 được so sánh qua mạch combinational logic không thông qua flipflop. Chỉ cần biết tình trạng hiện thời của xung là 0, hay 1 thì nó lập tức so sánh. Trong đoạn code của anh viết tất cả các hàm đều sensitive với đồng hồ như vậy thì có tương đương không? Chỗ này em không hiểu lắm. Ngoài ra em nghĩ giá trị của counter cần phải reset về 0 khi nó chạy hết một chu kỳ tức là bằng giá trị cycle được đưa vào từ bên ngoài (anh không đưa giá trị này vào).
Comment
-
Verilog từ C mà ra, cho nên ôn lại cũng dễ thôi. Sở dĩ tôi chuyển qua C hoặc systemC vì hiện tại ở mấy nước hiện đại đang chuyển cách thức sáng chế về hướng này. Đăng lên diẽn đàn để các bạn làm quen để sau này khỏi bỡ ngỡ.Ngay xưa em có dùng qua systemC nhưng mà về sau không dùng nữa nên quên hết rồi. Nên em muốn hỏi lại anh mấy thứ về đoạn code anh viết ở trên. Nếu anh thấy ngớ ngẩn thì cũng đừng cười vì em quên hết rồi.
Compare chỉ là giá trị tạm thời cho nên có thể nghĩ nó là combinational. C là tuần tự cho nên cách suy nghĩ và viết có hơi khác RTL.Trong đoạn code em viết thì Compare1,2,3,4,5 được so sánh qua mạch combinational logic không thông qua flipflop. Chỉ cần biết tình trạng hiện thời của xung là 0, hay 1 thì nó lập tức so sánh. Trong đoạn code của anh viết tất cả các hàm đều sensitive với đồng hồ như vậy thì có tương đương không? Chỗ này em không hiểu lắm.
counter dùng 9 bits, khi đếm tới 511 thì sẽ tự động trở lại 0.Ngoài ra em nghĩ giá trị của counter cần phải reset về 0 khi nó chạy hết một chu kỳ tức là bằng giá trị cycle được đưa vào từ bên ngoài (anh không đưa giá trị này vào).
Comment
-
Nếu chỉ tạo xung như bạn nói thì con CPLD đã đủ.Vấn đề không biết nếu sử dụng một Chip FPGA với tài nguyên có sẵn (mình ví dụ cùng chip XC3S500E) thì tài nguyên đủ dùng, thậm chí là thừa, phải không bạn (mạch mẫu của bọn mình dùng con XC3S50VQ100)Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.
Biến tần
Máy giặt
Lò vi sóng
Bếp từ.
Tủ lạnh.
Điều hòa
Comment
-
Anh em nhà MTAPIC à,
Anh biết các chú rất đam mê kỹ thuật QS, các chú phải trải nghiệm nhiều nhiều.
Vì vậy các chú chém gió vừa thôi, đừng mang những vấn đề nhạy cảm lên diễn đàn.
Có nhất thiết là phải khoe hàng như thế k? Cẩn thận C2 sờ gáy đấy em ạ.
Bài toán của chú khó nhưng giải quyết đc, cũng chẳng cần dùng FPGA làm j,
ĐÃ KHÔNG BIẾT LẠI HAY HỎI
Comment
-
Đúng là nản toàn tập. Mấy cái công nghệ radar, tên lửa này được áp dụng vào dân sự cả mấy chục năm rồi, có cái quái gì là nhạy cảm không biết nữa. Ở cái xứ mèo hoang này sách vở tài liệu về radar, tên lửa bán đầy rẫy. Mà mấy cái đài tên lửa như C125 chắc mấy thằng Tung của nó rành như lòng bàn tay, có đưa lên hay không cũng thế. Trong lúc thằng Viettel ở VN đi làm việt gian nhập hàng của bọn Huawei tung của thì chẳng thấy ai nói gì. Sau lưng thằng Huawei là bộ quốc phòng tung của chứa ai, bọn này cũng đã bị cáo buộc làm gián điệp ăn cắp thông tin rồi.
Nhưng mà thôi, nếu vì mấy bài post ở đây mà chủ thớt phải ăn cơm chính phủ thì tội nghiệp cho vợ con chủ thớt lắm. Có lẽ nên cho cái thớt này về vườn.
Comment
-
Ủa C2 cũng sờ gáy khi tôi bàn chuyện khoa học à? khi tôi nghiên cứu à?tôi đưa thông tin nào là thông tin mật? có đóng dấu Top Secret ko? mà sợ C2 sờ gáy, đã ko giúp thì thôi, lại còn bói nhăng nói cuội, có thể anh đã qua cái thời nghiên cứu như tôi, còn cái câu chém gió, tôi tói thật, tôi khinh anh với những câu nói như thế, tôi hỏi các bạn diễn đàn đang bàn về cái 2 pic này, xem tôi chém gió câu nào, tôi bảo tôi chưa làm được, muốn nhờ anh em cùng bàn luận cùng giúp nhau, tôi đam mê KTQS là việc của bản thân tôi, Tôi khoe hàng cái gì ra nào?tôi đưa mấy cái chuẩn xung cần để làm ra sản phẩm, ai cấm tôi được, sản phẩm tôi chưa chạy, tôi đưa ra à?tôi đã khoe cái gì ở 2 pic này mà bảo khoe hàng, dù anh có nhiều tuổi hơn tôi gấp mấy, tôi vẫn coi như là thằng con nít, không biết nói có suy nghĩ, mà chỉ biết chọc gậy bánh xe,tôi ko quen anh, không biết anh là ai, nhưng tôi nghĩ chắc anh biết tôi, nhưng tôi coi khinh những thằng chỉ biết đá xuáy mà không biết nghĩ rằng mình ở đâu!Tôi ăn cơm nhà nước, ăn cơm quân đội, làm việc cũng cống hiến hết mình, nhà nước và quân đội cần những người dám nghĩ dám làm và tôn trọng họ chứ cần gì tôn trọng cái người mà chỉ biết cho bản thân chỉ biết mình, mà ko biết nghĩ tới điều gì nó khác hơn!
Thiết nghĩ làm ở đâu cũng thế, tôi làm tôi nhận lương, cái ăn của tôi là công sức của tôi, không phải tự dưng người ta nhét cơm vào mồm tôi đâu.
Nếu biết tôi quá rõ thì nên để lại cái tên, nhìn đời bằng nửa con mắt thế dễ vấp lắm!
Nếu cảm thấy cái mạch đồng bộ dễ quá, ko thèm làm để anh chứng tỏ tài năng của mình, hãy giúp tôi cái phần này!
Xác định tọa độ mục tiêu trong không gian!
trở lại bài toán hệ đồng bộ, các bạn đã giúp mình rất nhiều, bởi vì mấy hôm nay có nhiều việc quá nên mình không vào diễn đàn thảo luận, để ngày mai mình tiếp tục!và đưa ra một số bài toán mới nhờ anh em giúp đỡ!Removing Bariers to Inovation!
Seaching in Future!
Comment
-
Anh chỉ nhắc nhở các chú 1 chút thôi sao mà chú nóng tính thế
.
Anh khuyên các chú nên biết lựa sức mình, tuổi nhỏ đừng làm vc phi thường. Mình phải biết tầm của mình đang ở đâu.
Trước khi đặt vấn đề lên diễn đàn hãy động não 1 chút xem kết quả sẽ như thế nào.
Anh k thích mang con bỏ chợ như nhiều Top khác, và Top này cũng thế thôi.
Bài toán thì rất nhiều nhưng vấn đề có giải quyết đc k?
Anh k có thời gian nhiều nên Bài toán của chú tìm người khác nhé
ĐÃ KHÔNG BIẾT LẠI HAY HỎI
Comment
-
Mình không chuyên về phần này nên chỉ tham gia việc điều hòa (moderate) các bạn.
- Mọi bài post chỉ nên tập trung vào phần câu hỏi và giải quyết vấn đề của bạn MTAPIC, không nên có những tranh cãi về cá nhân. Nếu có ý kiến gì thì gửi thẳng đến tác giả.
- Và mình nghĩ tác giả cũng chỉ nên tập trung nhiều vào phần phát triển thêm các giải đáp, đề xuất. Mình nghĩ bạn có cân nhắc khi post những bài này. Cũng không cần đính chính làm gì, nói ra nói vào sẽ loãng thread. Nếu một giải pháp nào đó có thể thực hiện và bạn cảm thấy đúng thì cũng nên thứ thực hiện nó, kết quả thế nào báo lại cho anh em hay mà học hỏi thêm.
Mình cũng không điều hành kiểu xóa bỏ bài viết của người này hay của người khác nhưng cũng mong mọi người cân nhắc kĩ trước khi post.
Comment
Bài viết mới nhất
Collapse
-
bởi theidiotcatViệc lựa chọn một chiếc laptop gaming phù hợp với nhu cầu, ngân sách chưa bao giờ là dễ dàng. Và điều đó càng khó hơn trong năm 2026 khi mà mức giá liên tục tăng.
Nếu bạn chưa biết nên chọn một chiếc laptop gaming như thế nào...-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 10:29 -
-
bởi theidiotcatVới mức ngân sách 20 - 30 triệu đồng trong năm 2026, các bạn sinh viên và dân văn phòng có thể tìm thấy nhiều lựa chọn cao cấp, mạnh mẽ, pin “trâu”, đặc biệt là các mẫu laptop AI hỗ trợ cho học tập và làm việc.
Trong phân...-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 10:25 -
-
bởi theidiotcatDưới đây là một số mẫu laptop nổi bật trong phân khúc dưới 20 triệu giúp các bạn văn phòng, sinh viên và đặc biệt là tân sinh viên có thể dễ dàng lựa chọn được mẫu laptop phù hợp với nhu cầu và ngân sách của mình.
Thị...-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 10:07 -
-
bởi theidiotcatViệc chọn mua một bộ máy tính phục vụ cho các nhu cầu làm việc văn phòng và sử dụng cơ bản hàng ngày đang trở nên dễ dàng và tiết kiệm hơn bao giờ hết. Thay vì phải đau đầu trích ngân sách để mua cả vi xử lý lẫn card đồ họa rời...
-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 11:23 -
-
bởi theidiotcatViệc nâng cấp từ một dàn máy tính cũ lên cấu hình mới luôn khiến nhiều người đắn đo về mức chi phí bỏ ra. Nếu bạn đang tìm kiếm một sự lột xác hoàn toàn về hiệu năng mà vẫn cân đối được dòng tiền, combo giữa vi xử lý Ryzen...
-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 11:06 -
-
Trả lời cho Lực dọc trục làm hỏng ổ bi.bởi nguyendinhvanVí dụ một trang như thế này
...-
Channel: Điện tử công suất
24-06-2026, 19:57 -
-
Trả lời cho Lực dọc trục làm hỏng ổ bi.bởi nguyendinhvanỔ bi có loại chịu lực dọc, loại chịu lực ngang.
Bạn kiếm một quyển Data cũng một hãng vòng bi nào đó. Họ sẽ cấp cho bạn đủ thông số kỹ thuật.
Khi lựa chọn được mã sản phẩm, bạn chỉ việc tìm mua mã đó, hoặc đặt hàng....-
Channel: Điện tử công suất
24-06-2026, 19:52 -
-
bởi GargiChào mọi người, tôi đang gặp một vấn đề kỹ thuật và muốn được nghe ý kiến của mọi người.
Tôi đã lắp một đĩa xích vào trục đầu ra của hộp số hành tinh bánh răng xoắn dùng cho truyền động xích. Sau vài tháng hoạt động, ổ bi đầu ra bị hỏng.
Bản thân...-
Channel: Điện tử công suất
24-06-2026, 13:22 -
-
bởi vi van phamSau hàng chục năm, không biết có ai còn nghĩ gì về tôi? Riêng tôi, nhớ nhiều về dientuviet nam. net. Ngày ấy tìm 1 người bạn đam mê về điện từ khó như trúng số độc đăc. Tôi đã trúng số độc đắc khi được mời về dientuvietnam.net...
-
Channel: Tâm tình dân kỹ thuật
23-06-2026, 22:43 -
-
bởi FotiniChào mọi người.
Cấu trúc khung giàn của tôi sử dụng một động cơ servo tích hợp trên mỗi trục (https://www.oyostepper.es/category-8...integrado.html), với một dây nối đất chung.
Việc kích hoạt từng trục riêng lẻ hoạt động tốt, nhưng...-
Channel: Điện tử dành cho người mới bắt đầu
18-06-2026, 14:03 -

Comment