embeded/FPGA - ALTERA2018.06.03 23:07

output 대신에

output reg를 쓰니 해결..

c언어 때 처럼 무슨 문제인지 감이 영안오네...


[링크 : https://electronics.stackexchange.com/...left-hand-side-of-assignment-must-have-a-variable-data-type]

Posted by 구차니

댓글을 달아 주세요

  1. 성탁

    그냥 output만 쓰면 wire로 선언된거로 되서 clk event발생할때 동작하게 한게 문법상 안맞음.

    그래서 reg를 선언해줘서 FlipFlop으로 clk event때 동작하게 코드를 짜는거임~~

    2018.06.04 10:45 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • reg가 flip-flop 이라서 출력을
      다른 wire로 연결이 가능한거고
      값을 유지하려면 wire로는 못하고 flip-flop이 필요한거 같긴한데

      다른 코드들 보면 output a; reg a;
      이런식으로 쓴것도 있어서 동일 명칭으로 선언하면 자동으로 두개가 합쳐지는건지 모르겠음 ㅠㅠ

      2018.06.04 11:18 신고 [ ADDR : EDIT/ DEL ]
  2. 성탁

    wire로 선언된 것들은 combination logic이어서 이벤트가 발생할때 동작하지 않고 and, or, nor, not 같은 로직으로만 만들어진거구...

    reg로 선언된거는 sequencial logic에서 쓰는거여서 clk의 rising edge나 falling edge처럼 이벤트가 있을때만 값을 넣어주기때문에 실제 합성시 보통 Flipflop을 사용해서 만들어짐.

    그리고 blokc의 output은 flipflop 출력으로 해야 나중에 툴에서 timing을 맞추기 쉬움~!!

    2018.06.04 12:44 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • -0-a;;;;;
      아무튼 공부중이니 올해 내로는 무슨 말인지 이해 할 수 있겠...지? ㅠㅠ

      2018.06.04 13:14 신고 [ ADDR : EDIT/ DEL ]