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.