【正文】
t and clk=39。 process(clk)is begin if clk39。end process。 end if。USE 。 clkout1K : OUT std_logic)。BEGIN uut: fenpinqi PORT MAP(clk = clk, clkout1 = clkout1, clkout10 = clkout10, clkout100 = clkout100, clkout1K = clkout1K)。END。 SE10 : in STD_LOGIC。 DP3 : out STD_LOGIC)。 THEN FREF=F1HZ。 IF SE1=39。139。 AND SE10=39。139。USE 。 F100HZ : IN std_logic。 SIGNAL SE10 : std_logic := 39。 SIGNAL F100HZ : std_logic := 39。039。 WAIT FOR 100 NS。use 。EVENT AND FREF=39。039。 將G1賦給gat輸出端,它是計(jì)數(shù)器的使能信號(hào)同時(shí)也是鎖存器的鎖存信號(hào)end Behavioral。 CLR : OUT std_logic)。039。同時(shí)我們也可以看出來該模塊對(duì)分頻器的時(shí)鐘輸出的穩(wěn)定性依賴十分嚴(yán)重,一旦分頻器輸出時(shí)鐘有毛刺,該控制信號(hào)將會(huì)完全的無效,這也是為什么我知道上面的分頻器設(shè)計(jì)不是最優(yōu)的方案,卻還是采用了上述方法的原因。 CLR : in STD_LOGIC。 THEN CQI=0000。139。139。USE 。 SIGNAL CLK : std_logic := 39。BEGIN uut: CNT10 PORT MAP( CLK = CLK, CLR = CLR, ENA = ENA, CQ = CQ, CO = CO)。END。entity LATCH4 is Port ( CLK : in STD_LOGIC。 END IF。 DIN : in STD_LOGIC_VECTOR。 END PROCESS。 S2 : in STD_LOGIC_VECTOR (3 downto 0)。S6(15 DOWNTO 12)=S2。首先我們編寫小數(shù)點(diǎn)控制的源文件代碼:library IEEE。 DP : out STD_LOGIC)。 AND SEL=011 THEN DP=39。 AND SEL=010 THEN DP=39。 AND SEL=001 THEN DP=39。use 。EVENT AND CLK=39。 將CNT信號(hào)賦給SEL輸出end Behavioral。 QOU : out STD_LOGIC_VECTOR (23 downto 0))。 END IF。 AND DP2=39。 END IF。139。 QOU(15 DOWNTO 0)=DIN(15 DOWNTO 0)。 QOU(19 DOWNTO 16)=1111。該段代碼的編寫的主要原理是首先判斷小數(shù)點(diǎn)的位置,然后對(duì)小數(shù)點(diǎn)前的高位數(shù)從高到低依次進(jìn)行判斷,如果高位為零則將數(shù)據(jù)取反,在后續(xù)譯碼中將不再顯示,從而實(shí)現(xiàn)高位無意義零的自動(dòng)消隱。 SEG : OUT STD_LOGIC_VECTOR (6 DOWNTO 0))。 WHEN 101=DATA=DATAIN(23 DOWNTO 20)。 WHEN 0101=SEG=0010010。139。USE 。BEGIN uut: CTRLS PORT MAP( CLK = CLK, SEL = SEL)。END。NET SE1 LOC = L6。NET SEG5 LOC = B12。右鍵單擊左邊圖標(biāo)選擇Program,在隨后的對(duì)話框中單擊OK,文件將自動(dòng)下載到開發(fā)板上,成功后,接入函數(shù)發(fā)生器進(jìn)行測(cè)試。在本次試驗(yàn)中我回顧了在《數(shù)字電路》課程中學(xué)過的關(guān)于數(shù)字電路的設(shè)計(jì)的部分,了解了VHDL和Verilog語言的區(qū)別與聯(lián)系,以及它們的優(yōu)缺點(diǎn),以及它們主要針對(duì)的設(shè)計(jì)對(duì)象。由此可知相對(duì)誤差為177。NET SEL2 LOC = E7。NET SEG1 LOC = A13。 管腳分配:由系統(tǒng)的頂層文件可以看到該系統(tǒng)的輸入端共有5個(gè),輸出端有11個(gè),:NET CLKIN LOC = T8。 CLK=39。 END COMPONENT。end Behavioral。 WHEN 1001=SEG=0010000。 WHEN 0001=SEG=1111001。 WHEN 001=DATA=DATAIN(7 DOWNTO 4)。use 。 END IF。 QOU(15 DOWNTO 12)=1111。 QOU(19 DOWNTO 0)=DIN(19 DOWNTO 0)。 QOU(11 DOWNTO 0)=DIN(11 DOWNTO 0)。 END IF。 END IF。 AND DP2=39。use 。 END IF。 SEL : out STD_LOGIC_VECTOR (2 downto 0))。 不符合上述三檔時(shí),小數(shù)點(diǎn)全部消隱 END IF。 AND SE10=39。 AND SE10=39。 AND SE10=39。entity POINTCON is Port ( SE1 : in STD_LOGIC。end Behavioral。 S6 : out STD_LOGIC_VECTOR (23 downto 0))。use 。EVENT AND CLK=39。use 。architecture Behavioral of LATCH4 isbegin PROCESS(CLK,DIN) IS BEGIN IF CLK39。四位鎖存器的原代碼如下:library IEEE。 CLK=39。 SIGNAL ENA : std_logic := 39。 ENA : IN std_logic。 當(dāng)且僅當(dāng)使能有效且計(jì)數(shù)為9時(shí)產(chǎn)生進(jìn)位信號(hào),進(jìn)位信號(hào)1有效,同步并聯(lián)時(shí)連高位的使能端end Behavioral。 END PROCESS。 THEN 對(duì)時(shí)鐘進(jìn)行計(jì)數(shù) IF ENA=39。end CNT10。use 。 WAIT FOR 100 NS。 SIGNAL GAT : std_logic。USE 。039。 END PROCESS。end CONTROLS。 門控信號(hào):在此模塊中有一個(gè)輸入端和兩個(gè)輸出端,輸入端為上面的閘門選擇器輸出的頻率,兩個(gè)輸出端分別為計(jì)數(shù)器是能控制信號(hào)(鎖存器控制信號(hào)),和計(jì)數(shù)器清零信號(hào)。 F1HZ=39。 SIGNAL DP2 : std_logic。 SIGNAL F1HZ : std_logic := 39。 DP3 : OUT std_logic)。 SE10 : IN std_logic。 END PROCESS。 THEN FREF=F100HZ。139。 AND SE100=39。139。 AND SE10=39。 F100HZ :IN STD_LOGIC。use 。 clk=39。 SIGNAL clkout1 : std_logic。ARCHITECTURE behavior OF tbb_vhd IS COMPONENT fenpinqi PORT(clk : IN std_logic。clkout100=c3。 then 方法同上 if t1K24