tôi có thể tạo ra một xung với một thời gian = 35 ns

Y

yasser_shoukry

Guest
Tôi cần một mã RTL trong Verilog hay VHDL để tạo ra một xung với thời gian cao = 10 chúng tôi?
Làm thế nào tôi có thể đáp ứng thời gian khó khăn này?

Thanks in advance
Last edited by yasser_shoukry vào ngày 08 tháng 12 năm 2006 14:22; edited 1 thời gian trong tổng số

 
Tần số đồng hồ của bạn là gì?
Điều gì gây nên xung?Là kích hoạt để đồng bộ đồng hồ?
Loại FPGA / CPLD bạn đang sử dụng?

Một trong những giải pháp đơn giản có thể được sử dụng một đồng hồ 200 MHz, và tính chu kỳ bảy.

 
Tôi đang sử dụng các kit starter Spartan3, nó đã được xây dựng trong một tinh thể 50 MHz.Module này sẽ được kích hoạt khi 1 là bằng văn bản để đăng ký kiểm soát của nóThêm vào sau khi 2 phút:I Xin lỗi đã viết trong thời gian cao cho bài viết đầu tiên của tôi 35 nsec trong khi đó là chính xác 10 usec

 
Bạn có thể tạo ra 10us bằng cách đếm 500 đồng hồ ở 50MHz.
Tôi không hiểu khá đăng ký kiểm soát của bạn, nhưng có thể bạn có thể sử dụng mô-đun.
Bình luận-ra một trong hai "đếm" bài tập tùy thuộc vào loại kích hoạt mong muốn của bạn.
Mã số:

module đầu (CLK, tại, trên); / / phát hiện tăng mép, tạo ra 500-đồng hồ xung

đầu vào CLK, tại;

reg [02:00] delay = 0; / / chống metastability thay đổi đăng ký

Dây kích hoạt = ~ chậm trễ [2] & chậm trễ [1]; / / phát hiện tăng cạnh

reg [09:00] count = 0;

đầu ra ngoài;

phân công ra = count [9];luôn luôn @ (posedge CLK) bắt đầu

trì hoãn <= (chậm trễ, trong);

đếm <= kích hoạt?
-500: Số truy cập?
count 1: tính; / / retriggerable

/ / count <= count?
count 1: kích hoạt?
-500: Count; / / không retriggerable

cuối

endmodule
 
Phương pháp đơn giản nhất là sử dụng truy cập.Chỉ cần đếm 500clocks để có được kích hoạt ...Giải mã để ghi các 1.

 

Welcome to EDABoard.com

Sponsor

Back
Top