À 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
-
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.
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:
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
-
Nguyê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.
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
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
-
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
-
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 trungautMình cần đặt hàng thiết kế chế tạo mạch nghịch lưu 3 pha để cài đặt các thuật toán điều khiển động cơ FOC, DTC, ... Xin liên hệ trungaut@gmail.com để bàn chi tiết. Xin cảm ơn diễn dàn đăng tin!
-
Channel: Điện tử công suất
hôm nay, 14:29 -
-
bởi trungautMình cần đặt hàng thiết kế chế tạo mạch nghịch lưu 3 pha để cài đặt các thuật toán điều khiển động cơ FOC, DTC, ... Xin liên hệ trungaut@gmail.com để bàn chi tiết. Xin cảm ơn diễn dàn đăng tin!
-
Channel: Đặt hàng
hôm nay, 14:27 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi tuyennhanCách ly dây điện vào , bộ nguồn và đèn khỏi khung xe thì có rò thật cũng không lo bị giật .
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 08:56 -
-
Trả lời cho Hỏi cách điều chế xungbởi thetungBạn cho qua cái Tờ ri gơ Sờ mít ấy ......
-
Channel: Kỹ thuật điện tử tương tự
16-12-2024, 11:26 -
-
Trả lời cho Hỏi cách điều chế xungbởi nguyendinhvanCó gì mà khó ?
Răn cưa vuông đây
...-
Channel: Kỹ thuật điện tử tương tự
15-12-2024, 23:36 -
-
Trả lời cho hỏi về tụ điệnbởi ndp62Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
-
Channel: Điện thanh
15-12-2024, 18:24 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi bqvietTrừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 22:02 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi namlangnhoE thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 19:58 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi mèomướpDạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 18:51 -
-
bởi namlangnhoXin chào mọi người. E có sử dụng 1 cục nguồn tổ ong 12v-30A chạy đèn led xe trà sữa. Mà thợ thi công bị rò điện nên điện rò ra khung xe. E dùng đồng hồ đo điện ở khung xe và cả output thì thấy có dòng điện xoay chiều hơn 100v. Nên chạm...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 00:12 -
Comment