2013-08-07 3 views
-1

나는 온라인에 올린 verilog 코드 라인을 가지고 있는데, 그것이 의미하는 바를 이해하지 못한다.Verilog 코드 라인

rom_data <= #`DEL {rom[rom_addr+3],rom[rom_addr+2],rom[rom_addr+1],rom[rom_addr]}; 

누군가가 나를 비난하는 데 도움을 줄 수 있습니까?

답변

5

내려 속보 :

1 rom_data <= 
2 #`DEL 
3 {rom[rom_addr+3], rom[rom_addr+2], rom[rom_addr+1], rom[rom_addr]}; 
  1. 비 차단 가능성 [email protected](posedge clk) 내에서 사용 rom_data에 할당하는 것은, 같은 어떤 것을 설정 한 플립 플롭

  2. 지연을 의미합니다 :

    `정의 DEL "1ms"

    1ms 또는 기타 값은 'DEL'위치에 붙여 넣습니다.

  3. {}은 연결을 의미하며, rom [rom_addr]과 다음 3 개의 값을 취합니다.

    즉 {2'b00, 2'b01, 2'b10, 2'b11} => 8'b00_01_10_11

모두 함께 특정 위치를 가리키는 rom_addr 있습니다. rom_data가 변경되면 rom_addr에서 rom_addr + 3까지 다음 4 개의 값을 가져와 DEL 지연 후 rom_data에 할당하십시오.

+0

다음은 [EDA Playground] (http://www.edaplayground.com/s/4/46)에서 @Morgan의 설명과 일치하는 작동 예제입니다. –