수업/Digital Design & Lab 3

SHA-256

SHA-256 회로를 verilog로 설계하는게 디지털설계및실험 과목의 마지막 과제로 나왔다. 이를 설계하기 위해 공부했던 SHA-256 연산 과정을 간단하게 정리해볼까한다. SHA와 SHA-256이 무엇인지에 대한건 나무위키 보면 잘 나와있으니 생략하고.. 어떤 식으로 input을 암호화하는지 살펴보자. 진행하며 참고한 문서는 다음과 같다. 참고문서 Algorithm(간략) 우선 큰 틀부터 보자. SHA-256 algorithm에선 0보다 크거나 같고 2^64-bit 보다 작은 Message(표현은 16진수로 하기도 하고 ascii 문자로 하기도 함)라는 것을 Input으로 받고, 256-bit 2진수 숫자(마찬가지로 표현은 16진수로하거나 ascii문자로 하거나)를 Output으로 내놓는다. 즉, I..

Verilog 기초

이 카테고리의 이 글 바로 직전에 썼던 글에 잘못된 정보가 꽤 있었다. 당시에 수업을 두번정도만 듣고 나름 찾아보며 정리했던 글이라 그랬다. 내 개인적인 생각도 많이 들어갔었고, 애초에 잘못된 정보도 있었고... 그래서 어느 정도 배우고 중간고사가 지난 지금 다시 한번 정리해볼까한다. (기존 글은 필요한 내용과 핵심 내용만 여기로 가져오고 원본은 삭제함) 배경 우리가 아는 Java 같은 고수준 PL의 아래엔 무엇이 있을까? 무엇을 기반으로 했기에 그런 언어를 이용한 설계가 기능할 수 있는걸까? 갑자기 하늘에서 떨어진건 아닐 것이다. 그 기반을 살펴보기 위해 물리학까지 내려가자면 끝도 없을 것이고,, 납득할만한 수준에서 보자면 그 시작은 트렌지스터이다. 트렌지스터 없이 회로의 한 지점에서 다른 지점까지 정..

간단한 컴퓨터 구조와 HDL

computing system은 analog와 digital 두가지로 요소로 나뉜다. analog는 연속적인 것들을 의미하고, digital은 불연속적인 것들을 의미한다. 보통 digital signal을 선호한다.(signal과 sign의 차이는, sign에 시간까지 추가된게 signal이다. sign은 시간이 지나도 고정됨.) 왜냐하면 digital은 불연속적인 값을 처리하므로 우선 다루기 쉽고, data에 노이즈가 껴도 잘 처리된다. (analog signal은 노이즈가 조금만 껴도 영향을 받지만 digital은 불연속적인 값으로 표현되므로 경계가 명확하다.) 컴퓨터 processor 또한 digital 정보를 이용한다. processor을 설계할때 과거엔 도면을 직접 그렸지만, 최근엔 그 규모가 ..