본문 바로가기

verilog3

[Verilog] Signed, unsigned Verilog에서 signed와 unsigned가 섞여서 연산되는 경우,출력 bit-width와 sign bit 처리에 각별히 유의해야 한다.-> 연산이 적용되는 signal에 type과 range를 주석으로 다는 습관을 들이자~~ 1. unsigned = unsigned + unsigned  - output bit-width만 주의하면 됨.  ex) 아래에서 case 1처럼 a와 b의 범위가 bit-width로 표현 가능한 범위보다 작게 constraint가 걸려있다면 output도 worst case에 맞게 output을 4bit만 해도 문제가 없지만, case 2처럼 4bit로 표현가능한 전체 범위를 사용한다면 case 1으로는 overflow가 발생한다. 따라서, 변수에 특정 범위가 지정되어 있지.. 2019. 12. 25.
[Verilog] 코드 최적화 1. 중첩된 루프는 피한다 : 소프트웨어에서 루프의 처리는 그냥 행을 반복해서 연산하는 것이지만, 하드웨어 설계에서 루프는 피드백이 있는 하드웨어를 의미한다. 때문에 중첩된 루프 구조는 최적화에 바람직하지 않다,2. 중첩된 if문은 피한다 : if문은 하드웨어에서 로직으로 구현된다. 따라서 if문이 중첩될수록 로직의 아웃풋이 다른 로직의 인풋으로 들어가면서 로직 레벨이 증가한다. 로직 레벨이 증가할수록 딜레이가 커지기 때문에 타이밍 에러가 발생할 확률이 높다. 3. if문보다는 case문- if/else의 반복도 마찬가지로 로직 레벨을 증가시킨다. case문을 쓰면 입력이 여러개인 하나의 로직을 사용하기 때문에 로직 레벨이 낮아짐.4. 괄호 사용z- 똑같이 세번의 연산이 수행되지만 후자가 더 빠르다. 앞.. 2018. 5. 8.
[Project] 전자전기컴퓨터설계실험2 -Verilog 0. 과목 개요 - 본 설계실험 과목은 디지털 하드웨어 설계 및 구현에 대한 실험실습 과목으로서, 선수과목은 디지털논리설계, 마이크로프로세서이다. Verilog HDL로 디지털회로를 설계하여 FPGA에서 구현하는 실습이 주 내용이며, 초기 2주동안 TTL 로직과 breadboard를 이용한 기초적인 디지털회로 실습도 진행한다. 구체적으로, 가산기(adder) 등의 조합회로, FSM 등의 순차회로, 그리고 LCD 등의 출력제어회로를 Verilog HDL로 설계하여 FPGA로 실습하며, 1인 1조로 진행된다.     1주차 - Introduction & TTL gates Lab on Breadboard 1) 이론- TTL (Transistor Transistor Logic) : 다수의 트랜지스터에 의해 논리.. 2018. 5. 3.