system-verilog

    0

    1답변

    그래서 나는 이벤트가 트리거 될 때 일부 하드 와이어 확률 벡터의 일부 비트를 설정하고 싶었다, 그래서 나는이 한 : always @(some_event) begin err_byte[0] = ($urandom()&65535 < 85) ? 1'b1 : 1'b0; err_byte[1] = ($urandom()&65535 < 85) ? 1'b1

    -1

    1답변

    나는이 코드를 가지고 있습니다 : couter. 입력 : clk, rst_n, 활성화,로드. output : out, wrap 내 목표는 wrap 용 assign 문과 함께 사용하는 것입니다. 어떻게해야합니까? module counter # (parameter N = 4) ( input clk, rst_n, enable, load, input wire

    1

    1답변

    지금 여기에서, 어떻게 II를 초기화하지 않고 값의 결정 않습니다 특히 denaliCdn_ahbTransaction burst1; task sendTransfers;   burst1= new;        burst1.Direction = DENALI_CDN_AHB_DIRECTION_WRITE; burst1.FirstAddress = 32'h4

    0

    2답변

    다음 코드가 컴파일되고 동시에 작동합니다.이 코드가 순차적으로 작동하도록 도와주세요. 즉 stage1 카운터가 자체적으로 재설정되고 stage2에 대해 0부터 시작해야합니다. 다음 코드는 Module1- stage1 및 module2-stage2를 포함합니다. 이것은 하나의 단계가 다른 단계를 완료 한 후에 발생하는 프로세스 흐름입니다. 예를 들어, 스테이

    0

    2답변

    한다고 가정 우리는 128 비트 등록이 있습니다 reg [127:0] line; 그리고 우리는 먼저 그것의 32 비트 단어를 선택하고,이 단어에서 모든 사용하여 슬라이스를 바이트를 선택 word = line[(127-32*byte_addr[3:2])-:32]; byte = word[7:0]; 잘 작동합니다. 그러나 두 사업자를 합치 지 않으면 동일

    1

    1답변

    예 : IOs A와 B가 연결되어있을 때 이들 사이에 10ns io-io 지연이 있습니다. IO는 500MHz (2ns주기)에서 실행됩니다. 기본적으로 Verilog는 필터 역할을하는 관성 지연을 사용합니다. 따라서 상호 연결선을 wire #(10ns) io;으로 정의하면 데이터를 걸러 내기 때문에 작동하지 않습니다. wire #(10ns) io; as

    0

    1답변

    열거 형 멤버에 "x"를 지정할 수 있습니까? 그렇다면 이점은 무엇이며, 그렇지 않은 경우 제한은 무엇입니까? 이걸로 당신의 도움 감사합니다.

    -1

    1답변

    이제 다중 systemvalue 작업에서 무작위 값을 얻으려고합니다. 이 그래서 그냥 결과를 얻었다 후 module testa; task sendtransfer1 foreach (burst3.Data[ii1]) burst1.data[ii1] = $urandom_range (967295,0); end task task sendtransfer2

    0

    1답변

    UVM을 처음 사용합니다. 나는 "배수 시간"이라는 개념에 대해 질문을합니다. 실제 uvm 테스트 환경에서 "드레인 시간"이 어떻게 유용 할 수 있는지 궁금합니다. 예제와 함께 보여주는 것이 더 좋습니다. 감사합니다. ~!

    -1

    2답변

    module hh (input [2:0] a [0:3], output b); wire [2:0] c1 [4:1]; wire [0:2] c2 [0:3]; wire d; u_hh_1 hh (.a(c1 ), .b(d)); // it is right; u_hh_2 hh (.a(c1[4:1][2:0]), .b(d)); // illegal slice