목표 - 주어진 논리 회로에 대해 VHDL프로그램을 이용하여 설계하고 test bench를 이용하여 시뮬레이션을 하여 결과를 확인할 수 있다.1. Write a VHDL program of 74X381.2. Write a VHDL programs of 4-input, 4-input multiplexer and 4-output, 4-bit demultiplexer.3. Write a structural VHDL program of the blackbox.4. Write a test bench that shows your design works correctly.
1. 목표 - 아래에 주어진 논리 회로에 대해 VHDL프로그램을 이용하여 Structural program형식과 Behavioral program형식을 설계하고 test bench를 이용하여 시뮬레이션을 하여 결과를 확인할 수 있다.<중 략>Structural code Simulation result =>Test bench 코드를 이용하여 설계한 Structural Code를 동작시켰을 때, 위와 같은 결과가 나왔다.위에서 3개는 x, y, z 인풋이고 4번째는 출력 f이다. 그리고 나머지 6개는 구조적으로 설계했을 때, gate와 gate를 잇는 signal이다. Input은 2진수 3bit 값을 입력하였다. 위의 시뮬레이션 결과로 처음에 Truth Table을 통해 예상했던 출력 값이 나옴을 확인 할 수 있었다.
목표-조건에 맞는 Traffic lights controller를 설계하고 VHDL을 이용하여 구현할 수 있다.1) Code analysis■ 10Hz가 너무 느려서 교수님께서 말씀하신 대로 1k Hz를 인가하여 사용하였습니다.■■ farm road가 초록불로 켜질 때 횡단보도에 대한 명시가 없었습니다. 교수님께서 가정하고 코딩을 하라고 하셔서 초록불로 켜진다고 가정하였습니다.■-teamproject.vhd--교수님께서 첨부해주신 Top Module의 entity와내부의 프로그램을 구현함에 있어서 필요한 signal을 정의하였습니다.--7 segment display signals--For 7 segment transform BCD forms: 7-segment를 표현하기 위한 신호와 BCD와 값을 일치시키기 위하여 signal을 선언하였습니다.--1K Hz의 Clock을 분주하여서 10Hz로 사용하였습니다.(10Hz이용 시 시뮬레이션이 오래 걸려서 교수님 말씀대로 높은 주파수 1k Hz를 정의하여서 사용하였습니다.)--3번 분주하여서 사용하였습니다. (3번 분주 시 1Hz, 주기가 1초인 클럭 사용 가능.)-- 7-segment 와 BCD code를 서로 맞게 입력 하였습니다
목표- 아래와 같은 조건의 묵찌빠게임을 State machine으로 설계하고 VHDL을 이용하여 구현할 수 있다.<중 략>2) test bench simulation-첫 번째 12클럭은 과제 PPT를 그대로 구현한 것이다.(Reset=0)-모든 시뮬레이션이 rising edge에서 동작하는 것으로 보아 클럭에 동기화되었음을 알 수 있다.-시뮬레이션 결과 Reset값이 0이므로 정상 작동하며 PPT와 결과가 일치하였다.-맨 밑 두줄을 통해 state로 정의해 주었던 값들이 시뮬레이션에서 그대로 확인 할 수 있음을 알 수 있다.-두 번째 12클럭은 과제 PPT를 Reset이 1인 상태로 구현한 것이다. Reset값이 1이므로 AW와 BW 그리고 Draw가 나타나지 않는다.-시뮬레이션을 통해 RST이 정상 작동함을 확인 할 수 있다.3) State/Output Table-State/Output table이다. 세로 굵은 줄을 기준으로 왼쪽은 RST(Reset)값이 0이고 오른쪽은 Reset값이 assert 되었을 때이다. Reset값이 들어오면 무조건 init state로 가며 출력은 내보내지 않는다.-주어진 state machine은 현재의 상태와 입력에 의해여 출력이 결정되므로 mealy machine이다.-위의 State/Output table은 invalid sign을 냈을 경우를 포함하였다.
전자회로실험 설계 결과보고서2 CMOS 증폭단 설계 CMOS Amplifier Circuit1. 실험 결과 및 이론값설계1) MOSFET 특성 측정< 시뮬레이션 결과 >V_GS``[V`]I_DS``[muA]000.50101.50.622.10538.120V_DS`[V`]I _{DS} ``[pA]000.50.5111.0133.0155.011010.01V_DS`[V`]I _{DS} ``[muA]V_DS`[V`]I _{DS} ``[muA]000.62.1670.10.660.72.1680.21.20112.1710.31.62222.1820.41.92452.2140.52.105102.268< 실험 결과 >V_GS``[V`]I _{DS}V_GS``[V`]I _{DS}01.50.51.80.72.00.92.51.03.01.23.5시뮬레이션 결과실험 결과(plot)-V_DS = 0.5V로 고정시키고matrix { V_GS }를 변화시키면서I_DS를 측정한 결과V_GS가 0.5V 이상인 지점부터 전류가 증가하여 흐르기 시작했다. 따라서 Threshold Voltage인V_TH = 0.5V임을 알 수 있다. 즉,V _{TH} =0.5V`이하에서는 전류가 흐르지 않고, 0.5V가 넘기 시작하는 순간부터 전류가 흐르기 시작한다. (소자의 스펙이 달라 시뮬레이션 결과와의 오차율은 계산하지 않았습니다.)V_DS`[V`]I _{DS}V_DS`[V`]I _{DS}00.80.21.00.450.610실험 결과(plot)-V _{GS} =1V로 고정시키고matrix { V_DS }를 변화시키면서I_DS를 측정한 결과V _{GS} = 0.5V 이하일 때V_GS - V_TH = 1V-0.5V = 0.5V를 넘지 않아 Triode region이기 때문에 current가 점점 증가하지만 0.5V를 넘게 되면 Saturation region이므로I_D가 일정하게 나타났다. 평균적으로 Saturation region에서I _{D} =0.31074mA이므로 Transconductanceg_m을 구하면g _{m} = {2I _{D}} over {V _{GS} -V _{TH}} = {2 TIMES 0.31074mA} over {1V-0.5V} =0.00114296[1/ OMEGA ] 와 같이 구할 수 있다.V_DS`[V`]I _{DS}V_DS`[V`]I _{DS}0.11.00.22.00.33.00.45.00.510실험 결과(plot)-V _{GS} =2V로 고정시키고matrix { V_DS }를 변화시키면서I_DS를 측정한 결과V _{DS} = 0.2V부근에서 saturation되기 시작하여 평균적으로I _{D} =0.77615mA로 수렴하여 거의 일정하게 유지되었다. 이와 같은 조건으로 Saturation region에서 Transconductanceg_m을 구하면g _{m} = {2I _{D}} over {V _{GS} -V _{TH}} = {2 TIMES 0.77615mA} over {2V-0.5V} SIMEQ 0.001135[1/ OMEGA ] 와 같이 구할 수 있다. 이 값은V _{GS} = 1V로 고정시켰을 때 구한g_m값과 같다.V_TH [V]g_m [1/ OMEGA]0.50.0011설계2) 캐스코드 증폭단 설계R_L [ OMEGA]gainR_L [ OMEGA]gain1000.362380013.55001.806390010.08610003.61340005.445820007.22650001.3735300010.838100000.336360012.838500000.493M1M2V_GS56.24mV2VV_DS4.848V152.33mVI_DS479.14muA479.14muAR _{L} [k OMEGA ]gainR _{L} [k OMEGA ]gain0.9881.875.0253.671.9672.759.7891.833.2532.7514.671.83M1V_GSV_DSI_DS-우리 조가 설계한 캐드코드 증폭단 회로는R _{L}의 크기를 설정하는 것이 가장 중요했다. 설계 제안서에서 시뮬레이션 해보았던 것과 같이 어느 저항에서 가장 큰 이득을 얻은 후 점점 감소하는 결과를 얻을 수 있었다. 가장 큰 이득을 얻을 수 있는 지점을 찾기 위해 저항을 바꾸어 가며 실험한 결과R_L =5.025k OMEGA APPROX 5 k OMEGA에서 이득이 가장 컸고 이때의 이득은 3.67이었다. 이 이후의 저항에서는 점점 감소하는 것을 볼 수 있다. 이론적으로 이득을 구하면A_v = -g_m R_L (r_o1 ,r_o2는R_L에 비해 매우 크다고 가정)이다. 이를 이용해서 gain을 구하면 각각의 저항에서 1.09, 2.16, 3.58, 5.53로 계산할 수 있다. 이는 실제 실험결과와는 약간 차이가 나는데 오실로스코프로 신호를 인가할 때 발생한 오차나 MOSFET소자를 두 개 사용하다보니 생긴 내부적인 저항, 커패시터로 인한 오차라고 볼 수 있다.-바이어스 전압을 측정한 결과도 위와 같다. 시뮬레이션을 할 때는M_2의 바이어스 전압도 측정하였으나 실제 실험에서는M_2는 캐스코드단이므로 실제 출력단이 있는M_1만 측정하였다.V_{i n} [V]gainV_{i n} [V]gain0.31.290.81.512-gain이 가장 클 때의 저항R_L = 5 k OMEGA을 사용하여 회로를 설계하고 입력 신호를 증가시켜 출력파형이 왜곡되지 않는 한도 내에서 최대 출력 신호가 나오도록 실험하였다. 입력 신호가 300mV일 때부터 2V일 때까지 조정하며 실험한 결과 입력 신호가 1.29V가 넘어가면서 서서히 출력파형이 왜곡되는 것을 확인할 수 있었다. 따라서 최대 출력 신호가 나왔을 때의 최대 진폭은 입력 신호가1.29 V_p-p일 때4.1 V_p-p이다.2. 설계 결과 분석 및 고찰이번 실험은 CD4007칩을 이용하여 설계 조건에 맞도록 CMOS 증폭단을 설계해보는 실험이었다. 우리 조는 캐스코드를 이용하여 증폭기를 설계하였는데 캐스코드 증폭기는 출력 저항을 크게 해주기 때문에 안정적으로 신호를 증폭할 수 있다.첫 번째로 MOSFET 특성 측정 실험에서는 우리가 사용하는 MOSFET의 Threshold VoltageV_TH와 Transconductanceg_m을 알아보기 위한 실험이었다.V_GS 또는V_DS를 일정하게 고정시키고 전류I_DS를 측정하여 Saturation 영역의I_DS를 사용하여 전자회로시간에 이미 배웠던 수식을 통해V_TH와g_m을 구해보았다. Pspice로 설계 할 때는V_TH = 1.4V로 설정하여 시뮬레이션 하였지만 실제로 사용한 소자는V_TH = 0.5V였다.V_DS를 변화시키면서I_DS를 측정해 보았을 때 일정해지는 구간이 있었고 이 구간이 Saturation된 지점임을 알 수 있었다. 이를 이용해g_m을 측정한 결과V_GS = 1V와V_GS = 2V일 때g_m = 0.0011 [ 1/ OMEGA]로 같은 값이 나왔다.위의 조건을 이용하여 우리가 설계한 캐스코드 증폭단을 실험해보았다. 캐스코드 증폭단에서 가장 중요한 점은 부하저항R_L의 크기를 적절하게 맞춰주는 것이었는데R_L의 크기가 너무 작거나 크면 이득이 작아져 가장 큰 이득을 갖는 부하저항을 찾아야 했다. 이를 위해 저항을 바꾸어가며 실험한 결과R_L = 5 k OMEGA일 때 가장 큰 이득 3.67을 가졌고 이 이후의 저항에서는 이득이 점점 작아짐을 알 수 있ㅇ었다. 그리고R_L = 5 k OMEGA일 때 최대의 이득을 낼 수 있는 입력 전압을 조정하였을 때V_{i n} = 1.29 V에서 가장 큰 이득을 가지고 그 이후의 전압에서는 출력이 왜곡되어 제대로 증폭하지 않는 것을 오실로스코프 파형을 통해 알 수 있었다.캐스코드 증폭단의 전압이득을 식으로 계산해보면