첫 번째 과제는 자판기를 금액으로 표시하는 것으로써, 각 세그먼트 당 8bit 출력으로 만들었고 출력을 결정하는 입력을 4-bit로 표현하였다. 4-bit로 표현했으므로, 0~15까지 값을 결정해줄 수 있는데, 우리가 표현할 숫자는 0~9 까지이므로, 10~15까지는 error로 취급한다.또한 7-segement라서 원래는 7-bit인데, 8-bit로 표현해준 이유는, MSB가 1이면 에러로 나타내주기 위함이다. 만약 MSB가 0이면 오류가 아닌 것이 된다. 따라서 MSB는 signed bit로써의 역할을 하며, 돈 9900이 넘는 경우, 이런 경우에 MSB를 1을 출력한다. 또한 자판기에는 100원을 넣는 것이므로, 3번째와 4번째 segment에서는, 항상 0이 출력되게 만들면 된다.따라서 예상되는 결과로는, 0원부터 9900원 까지 표현이 가능하며, 만약 9900원이 넘거나, 각 segment input이 9가 초과하는 값이 들어오는 경우 MSB를 1를 포함한 11111111이 출력되게 된다.
(1) 문제 설명 및, 예상결과. 설정한 비밀번호가 5017인데, 입력한 비트 4비트 4개와 각 자리의 비밀번호를 비교해봐서 같으면 wrong이 0이 출력이 되고, 다르면 1이 출력이 된다.5017의 값을 넣지 않는 이상 wrong이 1이 하나라도 존재할 것이며, 따라서 문은 열리지 않게 될 것이다.따라서 비교해주기 위해서 if문을 썼으며, 설정한 비밀번호가 아니라면 wrong 값을 1을 출력하고, 설정한 비밀번호가 맞다면 0이 출력되게 해놓았다.이때 마지막에, wrong이 0000이면 문이 열리게 하려고 했으나, wrong은 output 이기 때문에, if 문에서, 따로 설정이 되지 않았기 때문에, in 값이 5017이 될 때 open 되게 만들었다.
※결과해석: 단위 사각파를 푸리에 변환을 했으므로 결과값이 씽크함수가 나오는 것을 알 수 있는데, positive한 면만 표현 했으므로, 1사분면에 있는 값만 표현 된 것을 알 수있다. 또한 사각파의 넓이가 1이 되므로, 0일 때 값이 1이 잘 나오는 것을 알 수 있다.