Nguyên văn bởi hithere123
Xem bài viết
Thông báo
Collapse
No announcement yet.
Làm cách nào để nhân chia lẻ cho xung clock?
Collapse
X
-
Woa ... Jeff ko recommend mạch chia clock này cho FPGA đâu ... Jeff nghĩ dùng DCM sẽ tốt hơn ...
Làm sao bảo đảm được output của a Tony ko bi glitch nhỉ? Vì Jeff thấy thế này:
- int_clk_out sẽ có 1 ít delay so với rising_edge của clk (T1)
- (!clk) sẽ có 1 ít delay so với clk (T2)
---
Nếu như T2>T1 thì sẽ bị glitch ngay.
Ban đầu Jeff hiểu khác.
Vấn đề bắt đầu phức tạp hơn so với việc dùng DCM rùi.
Comment
-
Nguyên văn bởi jefflieu Xem bài viếtWoa ... Jeff ko recommend mạch chia clock này cho FPGA đâu ... Jeff nghĩ dùng DCM sẽ tốt hơn ...
Làm sao bảo đảm được output của a Tony ko bi glitch nhỉ? Vì Jeff thấy thế này:
- int_clk_out sẽ có 1 ít delay so với rising_edge của clk (T1)
- (!clk) sẽ có 1 ít delay so với clk (T2)
---
Nếu như T2>T1 thì sẽ bị glitch ngay.
Ban đầu Jeff hiểu khác.
Vấn đề bắt đầu phức tạp hơn so với việc dùng DCM rùi.
Comment
-
Nguyên văn bởi tonyvandinh Xem bài viếtint_clk_out kô thể đến sớm hơn clock được là tại vì nó được tạo ra bởi clock.
Int_clk_out được tạo ra từ kết quả của 5 rising edge clock khác nhau ( R[4:0] ) từ clock nguồn.
và clock_out được tạo ra từ một mạch logic AND của int_clk_out và một đường clock nguồn.
Mặc dù cả 6 clock này là giống nhau nhưng thực tế thì rất khó đảm bảo 6 clock này cái nào đến trước, cái nào đến sau.
Anh xem lại thử.
Thân mến.
Comment
-
Nguyên văn bởi hithere123 Xem bài viếtAnh,
Int_clk_out được tạo ra từ kết quả của 5 rising edge clock khác nhau ( R[4:0] ) từ clock nguồn.
và clock_out được tạo ra từ một mạch logic AND của int_clk_out và một đường clock nguồn.
Mặc dù cả 6 clock này là giống nhau nhưng thực tế thì rất khó đảm bảo 6 clock này cái nào đến trước, cái nào đến sau.
Anh xem lại thử.
Thân mến.
Code:reg [3:0] cnt; always @ (posedge clk or reset) if (reset) begin cnt = 0; end else if (int_clk_out) begin cnt = cnt + 1; end assign clock_out = cnt[0];
Comment
-
Nguyên văn bởi tonyvandinh Xem bài viếtThường thì FF có delay hơn inverter nhiều. Trong FPGA thì có thể phải cần cẩn thận hơn. Vì thế trên bài trên tôi nói là nên dùng xung ra cho enable thì tốt hơn.
Cho riêng FPGA:
1/ khuyến khích dùng DCM để tạo ra clock mới (worry free )
2/ Khi dùng mạch đếm và logic tạo ra clock mới và khi muốn dùng clock mới này cho chân CLK của FF phải cẩn thận.
Jeff có cách này, nhìn hơi nghiệp dư .. nhưng mà chạy cũng được
if(rising_edge(clk)) then
if(cnt=6) then cnt <= 0; else cnt<=cnt+1; end if;
end if;
khi muốn FF enable trong 6 clock trong 7 clock thì : ff_en <= '1' when cnt/=6 else '0';
khi muốn FF enable 3 trong 7 clock ff_en <= '1' when (cnt=0 or cnt=2 or cnt=4) else '0';
Comment
-
Nguyên văn bởi tonyvandinh Xem bài viếtKhông sao đâu, tôi dùng kỹ thuật này nhiều rồi. Nếu sợ thì dùng nó để đổi nhịp của clock (enable). Xem phần thứ 2 của bài tôi viết
Code:reg [3:0] cnt; always @ (posedge clk or reset) if (reset) begin cnt = 0; end else if (int_clk_out) begin cnt = cnt + 1; end assign clock_out = cnt[0];
Làm theo cách 2 thì đúng là sẽ không có glitch khi STA clean nhưng xung ra sẽ bị delay 1 clock. Anh xem lại thử.
Thân.
Comment
-
Nguyên văn bởi jefflieu Xem bài viếtOkie ...
Cho riêng FPGA:
1/ khuyến khích dùng DCM để tạo ra clock mới (worry free )
2/ Khi dùng mạch đếm và logic tạo ra clock mới và khi muốn dùng clock mới này cho chân CLK của FF phải cẩn thận.
Nguyên văn bởi jefflieu Xem bài viếtJeff có cách này, nhìn hơi nghiệp dư .. nhưng mà chạy cũng được
if(rising_edge(clk)) then
if(cnt=6) then cnt <= 0; else cnt<=cnt+1; end if;
end if;
khi muốn FF enable trong 6 clock trong 7 clock thì : ff_en <= '1' when cnt/=6 else '0';
khi muốn FF enable 3 trong 7 clock ff_en <= '1' when (cnt=0 or cnt=2 or cnt=4) else '0';
Comment
-
Nguyên văn bởi hithere123 Xem bài viếtAnh,
Làm theo cách 2 thì đúng là sẽ không có glitch khi STA clean nhưng xung ra sẽ bị delay 1 clock. Anh xem lại thử.
Thân.
Comment
-
Cám ơn sự hưởng ứng
Để đúc kết đề tài này, tôi xin cám ơn sự hưởng ứng của các bạn, đặc biệt là bạn Jeff và hithere. Sự hưởng ứng của các bạn đã làm đề tài này thêm sôi nổi và đã nêu ra những khuyết điểm của thiết kế. Dù thiết kế hay cách mấy, vẫn có thể có khuyết điểm. Có khuyết điểm có thể khắc phục. Có cái chỉ là work around (khắc phục tạm?). Cho nên cần phải biết những giới hạn của thiết kế để dùng nó một cách thích hợp hơn.
Tôi hy vọng các bạn sẽ tham gia những đề tài khác trong tương lai để mình cùng học hỏi thêm.
Thân ái
Comment
-
Nguyên văn bởi tonyvandinh Xem bài viếtTrễ 1 clock thì có ảnh hưởng gi?
Đúng là trong trường hợp này trễ 1 clock không vấn đề gì
Tiện thể xin phép anh tóm tắt hai ý em tham gia:
[1] Clock gate dùng ở đây không phù hợp, cách 2 của anh hay hơn, vi em cũng toàn dùng cách này và silicon ra okie. Em đưa clock gate ra chỉ là muốn góp thêm một kỹ thuật hay dùng khi đụng tới clock thôi.
[2] Em bảo lưu ý kiến không nên dùng logic AND vì chắc chắn có glitch.
Thân mến.
Comment
Bài viết mới nhất
Collapse
-
bởi nhathung1101Muốn đặt gì thì cũng phải có thông tin cơ bản. Việc nhỏ thế này mà phải dấu giếm thì người lớn không thèm làm đâu.
Cho bạn 3 ngày, không là sẽ xóa.-
Channel: Đặt hàng
Hôm qua, 22:02 -
-
Trả lời cho Hỏi cách điều chế xungbởi nhathung1101Schmit Trigger là chuẩn với điều kiện rise > 0,8V.
Bí thì dùng vi với tích gì đó, miễn đừng nói phân kẻo chó ở đây lại sủa nhặng.-
Channel: Kỹ thuật điện tử tương tự
Hôm qua, 21:57 -
-
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 qua, 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
21-12-2024, 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 -
Comment