함수는 다음과 같습니다. h posedge가 오면 count clk를 시작하고 105로 카운트하면 r을 0으로 설정하고 517로 카운트하면 r을 1로 설정합니다. 600 이상이면 아무 것도하지 말라. h는주기적인 singal입니다.구문 오류를 피하기 위해 Verilog 코드를 수정하는 방법은 무엇입니까?
module make_counter(h, clk, P);
input wire h;
input wire clk;
output wire P;
reg r=1'b1;
reg[9:0] n=0;
always @(negedge clk)
always @(posedge h)
begin
n=0;
end
begin
if(n<600)
n=n+1'b1;
if(n==106)
r<=1'b0;
else if(n==517)
r<=1'b1;
else
;
end
assign P=r;
endmodule
오류 (10170) : Verilog HDL 구문 오류가 main.v (115) 근처에 "always"텍스트가 있습니다. 기대하는 ";"
오류 (10170) : "begin"텍스트 근처에 main.v (119)에 Verilog HDL 구문 오류가 있습니다. 기대 "endmodule"
ZHE 이미지는 내가 원하는 것입니다. flag1 시작 세트 n = 0, 그리고 카운트 clk; 플래그 2로 카운트하는 경우 P = 0으로 설정합니다. 빨간색 화살표에 셀 수를 설정하면 P = 1로 설정됩니다. 당신은 나쁜 코드의 일종이
난 내 생각을 보여주기 위해 이미지를 추가하기위한 작동 말한다 ZHE 코드 내 생각 – hiwangliu
ZHE 사례를 반영하지 않습니다 : N 516> 517 0 104과 106 사이이며, 주의 할 필요가 없다. – hiwangliu
나는 혼란 스럽다. 당신의 생각은 분명하지 않습니다. 다이어그램을 그리고 –