【正文】
when 36=temp=10110110。 when 40=temp=00000000。 end if。 use 。 定義一個輸入端口 a 共 8 位 b_out : out std_logic_vector(7 downto 0)。 定義一個輸入時鐘端口 clk clk_out:out std_logic。 定義一個標(biāo)準(zhǔn)邏輯矢量信號 q,共有 5 位, 并賦初值 00000 begin b_out=a_in。event and clk_in=39。139。 else q=00000。 end behav。 use 。 ale:out std_logic。 500KHz end CONVERTER。 signal Current_state,Next_state:work_states:=st0。 case Current_state is when st0=Next_state=st1。LOCK=39。 when st1=Next_state=st2。LOCK=39。 when st2=Next_state=st3。LOCK=39。 when st3=Next_state=st4。LOCK=39。 when st4=Next_state=st5。LOCK=39。 when st5=Next_state=st6。LOCK=39。 when st6=Next_state=st7。LOCK=39。 when st7=Next_state=st0。LOCK=39。 end case。139。139。 if t2=1 then Current_state=Next_state。 end behav。 程序包的調(diào)用 entity ADC0809 is 實體名為: ADC0809 port ( CLK,EN : in std_logic 。 定義輸出端口 ADC_DISPLY,共有 8 位 LOCK,start : in std_logic。 用枚舉類型進(jìn)行狀態(tài)定義 SIGNAL REGL : std_logic_vector(7 DOWNTO 0)。 signal add:std_logic_vector(2 downto 0)。 if data128 then data_out := 1。 end division。 if start39。V1=0。V5=0。 V7=division(Dout_int)。 V5=division(buf5)。 V3=division(buf3)。 V1=division(buf1)。139。 when st3= if V0=0 then REGL(0)=39。 end if。139。 else REGL(2)=39。039。 if V4=0 then REGL(4)=39。 end if。139。 else REGL(6)=39。039。 if en=39。139。 when st4=next_state=st0。 process(CLK,current_state,next_state) begin if (CLK39。 end if。then add=ADDA。 END behav。 五, 心得體會; 1, 程設(shè)計和室友在一起討論商量,最后才寫完程序,完成此次數(shù)電課程設(shè)計。 在最后的編譯仿真階段,遇到了更多的問題,最終一一排除了,得到了一個大致合理的仿真結(jié)果,不甚滿意,卻實在力不從心。通過此次課程設(shè)計,筆者覺得課堂上學(xué)習(xí)的那點數(shù)電知識或者說課本知識, 對于實際問題真的是冰山一角,更為嚴(yán)重的是,平時學(xué)習(xí)東西的時候,太粗 糙,太死板,學(xué)出的東西是死的,壓根就不能用于實際的問題解決上面,在解決實際問題的時候,思路很狹隘,常常走 進(jìn)死胡同。 04113068 秦耀龍