verilog에서 간단한 배열뿐만 아니라

S

samviva72

Guest
이것이 제 첫번째 게시물입니다 난 아주 아주 기초적인 질문에 대해서입니다. 나는 어떠한 다른 HDLs 전에 Verilog 건드리지 말았지만, C를,는 C + + 등 알고 누군가가 나에게 Verilog에서 다음 C 코드 (그런 것은 존재하는 경우)의 동등한을 줄래? 나는 정의하고 verilog 모듈 자체 내에서 배열을 채울 수 있도록하려면, 그리고 시뮬레이션을 위해 단지이다. 누군가가 내게 코드를 줄 수있다면 그때 나는 내가 verilog에 대한 자세한 학습 시작하는 기반으로 이것을 사용할 것이다 매우 감사 드리겠습니다. int는 array_2 [] = {5, 5, 5, 5};, int는 내가, int는 c_sum = 0;가은 (i array_1 [] = {, 1, 2, 3, 4} 메인 (무효) {int는이 무효 [코드] = 0; 나는
 
/ 1ps //////////////////////////////////////////를`timescale 1ns을 [코드] //////////////////////////////////////// / / 회사 : / / 엔지니어 : / / / / 날짜를 만듭니다 : 10시 31분 23초 2011년 4월 20일 / / 디자인 이름 : / / 모듈 이름 : arrayz을 / / 프로젝트 이름을 : / / 목표 장치 : / / 도구 버전 : / / 설명 : / / / / 종속성 : / / / / 수정 : / / 수정 0.01 - 파일 생성 / / 추가 의견은 : / / ///////////////////////////// ////////////////////////////////////////////////// / / / 모듈 배열 (clk, 합계, 재설정); 입력 clk, 리셋, 입력 [7시] 딘의; 출력 등록 [7시] 합계; 등록 [7시] memu1 [3시]; 등록 [ 7시] memu2 [3시]는, 정수의 난, 항상 @은 (posedge clk)는 경우 (재설정 == 1'b1)를 시작 memu1 [0]을 시작
 
그것은 시뮬레이션을 위해 사용하는 아무 문제이지만 그것은 대부분의 경우 적절한 하드웨어의 합성을 방지하기 않기 때문에, 내가 디자인 반복 루프를 (C 코드 유사)을 제안하지 않습니다. 소프트웨어 프로그래머의 배경과 하드웨어 기술 언어를 배우는 가장 어려운 것은 반복 루프와 시간에 순차적 행동을 설명하지 않는 것이 많은 상황에서 피해야합니다 이해하는 것입니다.
 
예제 코드 blooz 주셔서 감사합니다. 난 그냥 Palnitkar의 사본의 보류를 갖고 난 지금 내 학습 프로세스를 시작입니다. 을위한 두 가지 더 빠른 검색어 : - / 시뮬레이터를 컴파일러를 verilog 당신이 사용 되죠? Palnitkar 도서가 함께 CD에있는 한 함께 제공됩니다. 잘 그렸나요? - 그 코드 예제에서는, 준 '(나는 경우
 
[견적 = FvM가; 886659] 그것은 대부분의 경우 적절한 하드웨어의 합성을 방지하기 것이 있기 때문에 그것은 시뮬레이션을 위해 사용하는 아무 문제이지만, 내가 디자인 반복 루프를 (C 코드 유사)을 제안하지 않습니다. 소프트웨어 프로그래머의 배경과 하드웨어 기술 언어를 배우는 가장 어려운 것은 반복 루프와 시간에 순차적 행동을 설명하지 않는 것이 많은 상황에서 피해야합니다 이해하는 것입니다. [이 / 견적]는 FvM으로 코드가있는 경우 합성 될 더 나은 하드웨어를 지적 반복하지 않고 .. C 조 스타일에 위의 코드는 이것은 하드웨어 스타일의 합성에 적합하게 수정할 수 있습니다. 단일 단계에서 당신이 쓸 수 있습니다. 합계 = (((memu1 [0] * memu2 [0]) + (memu1 [1] * memu2 [1 ]))+(( memu1 [2] * memu2 [2]) + (memu1 [3] * memu2 [ 하드웨어의 병렬 자연 계정에 3 ])));를 이동해야하기 때문에. [색상 = "실버"] [크기 1 ]---------- 게시 14시 56분에 추가 = --- ------- 이전 게시물에 있었 14시 31분 ----------[/ 크기] [/ 색상] [견적 = samviva72; 예제 코드에 대한 blooz 886666] 감사합니다. 난 그냥 Palnitkar의 사본의 보류를 갖고 난 지금 내 학습 프로세스를 시작입니다. 을위한 두 가지 더 빠른 검색어 : - / 시뮬레이터를 컴파일러를 verilog 당신이 사용 되죠? Palnitkar 도서가 함께 CD에있는 한 함께 제공됩니다. 잘 그렸나요? - 그 코드 예제에서는, 준 '(나는 경우
 
[견적 = blooz; 886690]는 FvM으로 코드를 반복하지 않고있는 경우 더 나은 하드웨어가 합성 될 지적 .. C 조 스타일에 위의 코드는 이것은 하드웨어 스타일의 합성에 적합하게 수정할 수 있습니다. 단일 단계에서 당신이 쓸 수 있습니다. 합계 = (((memu1 [0] * memu2 [0]) + (memu1 [1] * memu2 [1 ]))+(( memu1 [2] * memu2 [2]) + (memu1 [3] * memu2 [ 3 ])));는 하드웨어의 병렬 자연을 고려해야하기 때문에. [이 / 견적] 괜찮아, 난 이제 병렬 특성을 이해합니다. 하지만 저 '병렬 처리'에 제한이 있나요? - 내가 2000 값을 각각의 두 배열을했다합시다. 그 계산은 FPGA에 요소의 크기에 따라 달라집니다? - 나도 완료 수술 '제품의 합계'후 등록 합계에서 다른 계산을하고 싶은 가정합시다. 계산이 병렬로 발생하는 경우 어떻게 금액의 올바른 값은 다음 코드에 50를 곱한 것으로 다음 라인에 나가 알고 계십니까? 나는 그 두 라인 사이에 또 다른 시작 - 엔드를 시작해야하나요? 합계를 = (((memu1 [0] * memu2 [0]) + (memu1 [1] * memu2 [1 ]))+(( memu1 [2] * memu2 [[코드] 2]) + (memu1 [3] * memu2 [3 ]))); another_val = 액수의 * 50; verilog 시뮬레이터 링크에 대한 [/ 코드] 감사합니다. 당신은 스타!
 

Welcome to EDABoard.com

Sponsor

Back
Top