【文章內(nèi)容簡(jiǎn)介】
0)。 signal cou: std_logic_vector(1 downto 0)。 signal clk_gg: std_logic_vector(11 downto 0)。 signal clk: std_logic。 signal clk: std_logic。 ponent numbercoder is port(reset: in std_logic。 inclk: in std_logic。 innum: in std_logic_vector(9 downto 0)。 outnum: buffer std_logic_vector(3 downto 0)。 outflag: out std_logic )。 end ponent。 ponent vdecode is port(indata: in std_logic_vector(3 downto 0)。 outdata: out srd_logic_vector(0 to 6) )。 end ponent。 ponent diver is port(a: in std_logic_vector(7 downto 0)。 b: in std_logic_vector(3 downto 0)。 clk: in std_logic。 str: in std_logic。 s: in std_logic_vector(3 downto 0)。 y: in std_logic_vector(3 downto 0)。 )。 end ponent。 begin inum1: numdecoder port map (c,clk,num,numbuff,numclk)。 clock: process(inclk,c) begin if c=’1’ then clk_gg(11 downto 0)=”0”。 elsif inclk’event and inclk=’1’ then 14 clk_gg(11 downto 0)=clk_gg(11 downto 0)+1。 end if。 end process clock。 clk=clk_gg(11)。 pacecal: process(c,clk) begin if c=’1’then inplus=’0’。insubt=’0’。inmult=’0’。inmdiv=’0’。 elsif clk’event and clk=’1’then if plus=’1’ then inplus=’1’。insubt=’0’。inmult=’0’。 inmdiv=’0’。 elsif subt=’1’ then inplus=’0’。insubt=’1’。inmult=’0’。 inmdiv=’0’。 elsif mult=’1’ then inplus=’0’。insubt=’0’。inmult=’1’。 inmdiv=’0’。 elsif mdiv=’1’ then inplus=’0’。insubt=’0’。inmult=’0’。 inmdiv=’1’。 end if。 end if。 end process pacecal。 ctrflag: process(c,clk) begin if c=’1’ then flag=’0’。 elsif clk’event and clk=’1’ then if inplus=’1’ or insubt=’1’ or inmult==’1’ or inmdiv=’1’ then flag=’1’。 else flag=’0’。 end if。 ctrfirstnum: process(c,clk) begin if c=’1’ then acc=”00000000”。 elsif numclk’event and numclk=’0’ then if flag=’0’ then acc=acc*”1010”+numbuff。 end if。 enf if。 15 end process ctrfirstnum。 ctrsecondnum: process(c,clk) begin if c=’1’ or clear=’1’ then reg=”00000000”。fl=’0’ elsif numclk’event and numclk=’0’ then if flag=’1’ then fl=’1’。 reg=reg*”1010”+numbuff。 end if。 end if。 end process ctrsecondnum。 ctrclear: process(c,clk) begin if c=’1’ then clear=’0’。 elsif clk’event and clk=’1’ then if plus=’1’ or subt=’1’ then clear=’1’。 else clear=’0’。 end if。 end if。 end process ctrclear。 ctrinequal: process(c,clk) begin if c=’1’ then inequal=’0’。 elsif clk’event and clk=’1’ then if plus=’1’ or subt=’1’ or mult=’1’ or mdiv=’1’ or equal=’1’ then inequal=’1’。 else inequal=’0’。 end if。 end if。 end process ctrinequal。 ctrcou: process(c,inequal) begin if c=’1’ then cou=”00”。 elsif inequal’event and inequal=’1’ then 16 if cou=”10” then cou=cou。 else cou=cou+1。 end if。 end if。 end process ctrcou。 ctrcal: process(c,inequal) begin if c=’1’ then ans=”00000000”。 strdiv=’0’。 elsif inequal’event and inequal=’1’ then if flag=’1’ then if inplus=’1’ then if cou=”10” then ans=ans+reg。 else ans=acc+reg。 end if。 elsif insubt=’1’ then if cou=”10” then ans=ansreg。 else ans=accreg。 end if。 elsif inmult=’1’ then if acc=00001111” and reg=”00001111” then ans=acc(3 downto 0)*reg(3 downto 0)。 else ans=”00000000”。 end if。 elsif inmdiv=’1’ then strdiv=’1’。 end if。 else strdiv=’0’。 end if。 end if。 end process ctrcal。 d1: div port map (acc,reg(3 downto 0),clk,strdiv,dans)。 ctrvf: process(c,equal) begin if c=’1’ then 17 vf=’0’。 elsif equal。event and equal=’1’ then vf=’1’。 end if。 end process ctrvf。 ctrkeep: process(c,clk) begin if c=’1’ then keep=”00000000”。 elsif clk’event and clk=’0’ then if flag=’0’ then keep=acc。 elsif flag=’1’ and fl=’1’ and vf=’0’ then keep=reg。 elsif flag=’1’ and fl=’0’ and vf=’0’ and cou=”10” then keep=ans。 elsif flag=’1’ and vf=’1’ then if inmdiv=’0’ then keep=ans。 else keep(3 downto 0)=dans。 end if。 end if。 end if。 end process ctrkeep。 ctrview: process(c,clk) begin if c=’1’ then view1=”0000”。view2=”0000”。view3=”0000”。 viewstep=takenum。 elsif clk’event and clk=’1’ then case viewstep is when takenum = ktemp=keep。 viewstep=hundred。 when hundred = if ktemp=”11001000” then view1=”0010”。 ktemp=ktemp“11001000”。 18 elsif ktemp=”01100100” then view1=”0001”。 ktemp=ktemp“01100100”。 else view1=”0000”。 end if。 viewstep=ten。 when ten = if ktemp=”01011010” then view2=”1001”。 ktemp=ktemp“01011010”。 elsif ktemp=”01010000” then view2=”1000”。 ktemp=ktemp“01010000”。 elsif ktemp=”01000110” then view2=”0111”。 ktemp=ktemp“01000110”。 elsif ktemp=”00111100” then view2=”0110”。 ktemp=ktemp“00111100”。 elsif ktemp=”00110010” then view2=”0101”。 ktemp=ktemp“00110010”。 elsif ktemp=”00101000” then view2=”0100”。 ktemp=ktemp“00101000”。 elsif ktemp=”00011110” then view2=”0011”。 ktemp=ktemp“00011110”。 elsif ktemp=”00010100” then view2=”0010”。 ktemp=ktemp“00010100”。 elsif ktemp=”00001010” then view2=”0001”。 ktemp=ktemp“00001010”。 else view2=”0000”。 end if。 viewstep=one。 when one = view3=ktemp(3 downto 0)。 viewstep=takenum。 when others =null。 end case。 end if。 end process ctrview。 v1: vdecode port map (view1,onum1)。 v2: vdecode port map (view2,onum2)。 v3: vdecode port map (view3,onum3)。 end c。 19 14 大學(xué)本科生畢業(yè)設(shè)計(jì) (論文) 撰寫(xiě)規(guī)范 本科生畢業(yè)設(shè)計(jì)(論文)是學(xué)生在畢業(yè)前提交的一份具有一定研究?jī)r(jià)值和實(shí)用價(jià)值的學(xué)術(shù)資料。它既是本科學(xué)生開(kāi)始從事工程設(shè)計(jì)、科學(xué)實(shí)驗(yàn)和科學(xué)研究的初步嘗試,也是學(xué)生在教師的指導(dǎo)下,對(duì)所進(jìn)行研究的適當(dāng)表述,還是學(xué)生畢業(yè)及學(xué)位資格認(rèn)定的重要依據(jù)。畢業(yè)論文撰寫(xiě)是本科生培養(yǎng)過(guò)程中的基本訓(xùn)練環(huán)節(jié)之一,應(yīng)符合國(guó)家及各專業(yè)部門制定的有關(guān)標(biāo)準(zhǔn),符合漢語(yǔ)語(yǔ)法規(guī)范。指導(dǎo)教師應(yīng)加強(qiáng)指導(dǎo),嚴(yán)格把關(guān)。 論文結(jié)構(gòu)及要求 論文包括題目、中文摘要、外文摘要、目錄、正文、參考文獻(xiàn)、致謝和附錄等幾部分。 題目 論文題目應(yīng)恰當(dāng)、準(zhǔn)確地 反映論文的主要研究?jī)?nèi)容。不應(yīng)超過(guò) 25 字,原則上不得使用標(biāo)點(diǎn)符號(hào),不設(shè)副標(biāo)題。 摘要與關(guān)鍵詞 摘要 本科生畢業(yè)設(shè)計(jì)(論文)的摘要均要求用中、英兩種文字給出,中文在前。 摘要應(yīng)扼