내 마음에서 뭘 하려는지 8 비트의 입력을 받아 1을 계산합니다. 그런 다음 그 1을 나타냅니다.Verilog에서 8 비트 입력에서 1의 수를 세고 출력하고 있습니까?
- 적절한 방법은 8 일 비트 입력을 가지고 있다는 것입니다
01010111해야 출력 0101
module 8to4 (in,out,hold,clk,reset); input [7:0] in; //1 bit inputs reg [7:0] hold; //possible use for case statement output [3:0] out; //Shows the count of bits always @(clk) begin out = in[0] + in[1] + in[2] + in[3] + in[4] + in[5] + in[6] + in[7]; //Adds the inputs from testbench and outputs it end endmodule
질문 (오 1의 입력에서을 수 있습니다)? 또는 각 변수를 1 비트로 선언해야합니까? 예 : A, B, C, D, E, F, G, H;
- 위의 코드가 정확하면 거의 1의 개수를 표시하는 적절한 방법입니까? 나는 성명서가 필요할 것인가?
저는 정말 Verilog를 처음 접했기 때문에 아직 테스트 벤치에 대해 생각하고 싶지 않습니다.
죄송합니다. 아직 답답합니다. '# (WIDTH-8)'을 설명해 주시겠습니까? 또한 인터넷 검색 뭉치'정수 ii; 무리 후 솔직히 나는 Verilog 그런 int를 만들 수 몰랐고 그것에 대한 테스트 벤치를 작성하는 방법을 단서가되지 않을 것이다. –
죄송합니다. 오타였습니다. 다른 크기의 입력에 사용할 수 있도록 모듈을 매개 변수화했습니다. WIDTH = 8이면'for' 루프는 원래 표현식과 완전히 똑같습니다. 합성 도구가 내 루프를 표현식에 풀어 놓습니다. 그러나 이제 매개 변수화되었으므로'WIDTH'를 16이나 다른 것으로 대체 할 수 있습니다. –