전체 글 20

[Harman 세미콘 아카데미] Day_25(Verilog)

구조적 모델링 : 하위 모듈을 인스턴스하고 포트 연결을 통해 설계 모듈 포트의 자료형 규칙 : 입력/출력 방향과 모듈 내부/외부에 따라 포트가 가질 수 있는 자료형이 달라짐 인스턴스 파라미터화 parameter - deparam(해제)     ㄴ  #(.parameter_name(value1) {, .parameter_name(value2)}) parameter(외부 변경 가능) - localparam(외부 변경 불가) - defparam(변경) 생성문 (Generate statement) :  generate - endgenerate 블록으로 모델링    반복 생성문  :  generate - for       ㄴ for 반복문을 사용하여 반복적으로 인스턴스       ㄴ for 문의 begin 뒤에 ..

[Harman 세미콘 아카데미] Day_24(Verilog)

간단한 이론과 함께 시작하겠습니다. Blocking VS Non-BlockingBlocking 할당문 : ' = ' combinational Non - blocking 할당문 : 동시 실행 + 할당 스케줄에 의해 값이 할당 , '  ---> Blocking 할당문은 값을 즉시 변환, Non-Blocking은 실행 블록이 끝나고 값을 업데이트zero-delay 무한루프 : always 구문을 통한 제어가 없으면 생성되는 오류if - else - if : 다중 결정을 위해 사용, if문의 조건이 순서대로 평가됨 동기 : clk와 연관 비동기 : clk와 연관없음  많은 bit  -> 적은 bit : 인코더, 부호화기                ---- 반복문 ---- forever 문 : 조건 없이 무한히 ..

[Harman 세미콘 아카데미] Day_23(Verilog)

오늘도 간단하게 책에서 배운 개념을 소개하고 넘어가겠습니다. 행위수준 모델링 : 조합회로와 순차회로의 설계, 설계된 회로의 시뮬레이션을 위한 Testbench에 작성     -- always, initial, 태스크, 함수 내부에 사용      always 구문: initial과 독립적으로 시행          ㄴ Testbench에서 주로 clk 설정에 사용     initial 구문 : 시뮬레이션 진행동안 한 번 실행 순차회로 모델링  - 동기식(Synchronus) 셋/리셋을 갖는 경우 : 클럭 신호만 포함  - 비동기식(Asynchronus) 셋/리셋을 갖는 경우 : 클럭, 셋, 리셋신호를 포함       ㄴ ex) always @ (posedge clk, posedge reset)        ..

[Harman 세미콘 아카데미] Day_22(Verilog)

오늘은 날씨가 좀 많이 풀린 것 같습니다. 교재로 공부한 이론들을 조금 이야기 하고 가겠습니다. Gate Primitive : 우리가 아는 논리 회로( AND, OR, NOT)등 을 바로 작성 가능특징 : 두개 이상의 입력과 하나의 출력을 가짐   - 포트 연결 : 순서에 의한 매핑만 가능   - 출력 지연 값 지정 : #(n1, n2)         n1: 상승 전달지연  n2: 하강 전달 지연            ㄴ nand U1(out ,a ,b)      buf 게이트 & not 게이트특징 : 두개 이상의 입력과 하나의 출력을 가짐  - 포트 연결 : 순서에 의한 매핑만 가능  - 출력 지연 값 지정 : #(n1, n2)        n1: 상승 전달지연  n2: 하강 전달 지연 : 출력이 x로 ..

[Harman 세미콘 아카데미] Day_21(Verilog)

오늘의 메인 키워드는 FSM(Finite State Machine)이라고 할 수 있겠습니다. 일단, 먼저 Verilog 문법들에 대해서 배웠습니다.우리가 코드를 작성하는 데 사용하는 자료형.net 자료형 : 회로 소자/블록의 하드웨어적인 연결에 사용      ㄴ ex) wire, tri      ㄴ tri = Multiple driving sources가 혀용됨 variable 자료형 : always, initial 블록 내부의 절차형 할당문에 의해 값을 받는 변수      ㄴ ex) reg, integer, time    *reg : 절차형 할당문에 의해 값을 받는 변수의 자료형주로, 하드웨어 연결을 위한 wire, 값을 받기 위한 reg를 가장 많이 씁니다. 논리값은 4개의 논리값을 가지고 있습니다...

[Harman 세미콘 아카데미] Day_20(Verilog)

오늘도 verilog 배운 것을 작성해 보겠습니다. 교수님께서 저번에 숙제로 내주신 8bit adder에 대한 활용입니다. 저번에 학습했던 7segment 출력을 위한 모듈들에 8bit Adder, Digital Splitter, 4X1 MUX를 추가하였습니다.8bit Adder의 연산으로 8bit의 Sum과 1bit의 Carry를 하나의 9bit output으로 출력하게 됩니다. 그리고 Digital Splitter를 거치게 됩니다.Digital Splitter는 숫자의 각 자릿수를 4개의 FND에 차례대로 표현하기 위해 생성한 모듈입니다. 이 모듈을 걸쳐 나오게 되는 4개의 값들은 기존에 생성한 BCD Decoder에 들어가야 합니다. 하지만, 생성한 Decoder는 입력 단자가 하나로 설정되어 있기..

[Harman 세미콘 아카데미] Day_19(Verilog)

이번 포스트는 저번 포스트에 이어서 4bit Full_Adder 설계법을 올리겠습니다. 말 그래도 4개의 비트를 사용하는 계산기라고 생각하면 됩니다. Full Adder를 4개를 이어붙혀 계산을 하도록 하는 구조입니다. Full Adder의 결과로 나오는 Carry의 값이 다음 Full Adder로 넘어가며 계산을 이어가게 됩니다.우리가 실제로 계산을 하면서 올림수가 넘어가는 형태를 이진수로 구현한 형태입니다. Full Adder 4개를 이어 붙여 4bit Full Adder를 만들기 위해 Full Adder의 근간이 되는(?) Half Adder도 가져와 줍니다.Half adder -> Full adder -> 4bitfull_adder를 만들며 구조를 쌓아가며 여러 모듈을 만드는 것을 "추상화" 라고..

[Harman 세미콘 아카데미] Day_18(Verilog)

오랜만에 글을 작성해 봅니다...그동안 공부하였던 Python 내용을 토대로 팀원들과 미니 프로젝트를 진행하고 발표하였습니다. 프로젝트에 관련하여 따로 포스팅을 해보도록 하겠습니다...ㅎ 미니 프로젝트를 끝으로, 이제는 Verilog를 시작할 겁니다. Tool은 Xilinx Vivado를 사용하고, 보드는 Digilent Basys3를 사용합니다. 아래 사이트에서 참조하시면 좋을 것 같습니다.https://digilent.com/reference/programmable-logic/basys-3/start?srsltid=AfmBOoqMkCLJEdby64kN0V0ZP96AB76931yr76zPVhP-k_olI793eoON Basys 3 - Digilent Reference digilent.com 교수님꼐 보..

[Harman 세미콘 아카데미] Day_12(Python)

오늘은 flask를 활용해 get/ post 방식으로 데이터를 주고 받음을 확인하고, ngrok을 통해 forwarding하여 배포하는 법에 대해 배우겠다. 또한 github action을 활용하여 배포하는 법도 배우고 autogui를 활용한 실습도 진행하겠다. 먼저, flask의 데이터 주고 받는 방식flask를 사용하면서 데이터 전송 시 get / post 방식을 사용한다 - get : url에 ?(쿼리스트링) = ?key-value&key1-value1     -> 공유를 위함 - post : body에 데이터를 실음                                           -> 보안 ** get , post 방식을 통해 요청받는 경로(route)는 반드시 요청 방식을 선언  예제..

[Harman 세미콘 아카데미] Day_11(Python)

오늘은 API 부터 리뷰하겠다. API 란? 어플리케이션 간 데이터를 주고 받을 수 있도록 하는 인터페이스(약속)이에 대해 실습하기 위해 OpenWeather API를 활용하겠다.실시간으로 변화하는 날씨 정보를 활용하기 위함이다.https://openweathermap.org/ Current weather and forecast - OpenWeatherMapOpenWeather Weather forecasts, nowcasts and history in a fast and elegant wayopenweathermap.org OpenWeather에서 제공하는 API키를 활용하여 url에 접속하고, json 형태로 데이터를 받아온다.도시명을 직접 입력하여 날씨에 대한 컬럼과 데이터들을 받아올 수 있다. 아..