Verilog PWM, truy cập không incrementing

B

bobobano

Guest
Lớp mạch kỹ thuật số của tôi được giao nhiệm vụ viết mã trong Verilog cho một PWM. Đáng tiếc là tôi có thể thậm chí không nhận được mã số của tôi để làm việc. [Mã] mô-đun PWM (CLK, nhiệm vụ, thời gian, B), đầu vào CLK, nhiệm vụ, thời gian, sản lượng reg B; reg [8:00] count = 0; / / 8 bit truy cập luôn luôn @ (negedge CLK) bắt đầu if ( count = thời gian) count = 0; / / thiết lập lại tính ở cuối của thời gian tính = count + 1; / / tăng truy cập hiển thị ("% g", count); / / hiển thị số lượng cuối cùng hiện tại testbench mô-đun endmodule (); Một sợi dây, reg CLK = 0, luôn luôn # 1 if (thời gian == 20) $ kết thúc; / / dừng chương trình sau 20 chu kỳ luôn luôn # 1 CLK = CLK; / / thay thế đồng hồ xung ban đầu bắt đầu $ màn hình ("% b - ----% b% g ", A, CLK, thời gian); cuối PWM Viện KHKTHN (CLK, 6,10, A); / / chu kỳ nhiệm vụ = 60%, thời gian = 10 chu kỳ endmodule [/CODE] Từ những gì tôi hiểu không có bất kỳ lý do truy cập không được incrementing, nhưng nó increments đến 1, và sau đó sẽ nằm ở đây. Tôi viết bằng cách sử dụng Icarus cho các cửa sổ phiên bản 0.9.3 và nó mang lại cho tôi không có lỗi về soạn thảo, ngay cả giáo viên của phòng thí nghiệm của tôi không biết lý do tại sao nó không làm việc. Trợ giúp tôi Obiwan-Kenobi, bạn đang hy vọng duy nhất của tôi.
 
Hi tôi là một anh chàng VHDL, nhưng tôi đã quản lý để sửa chữa tính, mô phỏng dường như được làm việc, nhưng chu kỳ nhiệm vụ của bạn là không đúng, vì vậy tôi cũng đã thêm một tuyên bố khác bởi vì bạn đang làm tính = 0 và ngay lập tức tính = count + 1 trong cùng một chu kỳ đồng hồ; [Mã] mô-đun PWM (CLK, nhiệm vụ, thời gian, B), đầu vào CLK đầu vào [8:00] nhiệm vụ, thời gian, sản lượng reg B; reg [8:00] count = 0; / / 8 bit truy cập luôn luôn @ (negedge CLK) bắt đầu if (count = thời gian) count = 0; / / thiết lập lại tính vào cuối giai đoạn khác tính = count + 1; / / tăng truy cập hiển thị ("% g", count) / / hiển thị số lượng cuối cùng hiện tại testbench mô-đun endmodule (), dây A; reg CLK = 0; luôn luôn # 1 nếu ($ thời gian == 20) kết thúc; / / dừng chương trình sau 20 chu kỳ luôn luôn # 1 CLK = CLK! / / thay thế đồng hồ xung ban đầu bắt đầu theo dõi ("% b% b ----% g", A CLK,, thời gian); cuối PWM Viện KHKTHN (CLK, 6,10, A); / / chu kỳ nhiệm vụ = 60%, thời gian = 10 chu kỳ endmodule [/CODE] Alex
 

Welcome to EDABoard.com

Sponsor

Back
Top