ǰλãҳ > (强烈推荐)基于FPGA的等精度数字频率计设计毕业论?- 百度文库
1 0 D 0 1 1 1 1 1 D 1 1 1 1 1 0 D 1 0 0 1 1 1 1 D 1 1 1 1 0 D 1 0 1 1 1 1 1 1 D 1 1 1 0 D 1 1 0 1 1 1 1 1 1 D 1 1 0 D 1 1 1 1 1 1 1 1 1 1 D
74LS1383CBAݷĵַ룬8Y0~Y78·3ƶеEN2AˣEN2BӵأEN1ʹܶ[6]EN1=1ݷ䣬ҪתY2ַӦΪCBA=010ɹܱɵ:
Y2?(G1?G2A?G2B)?C?B?A?G2A (3-1)
˾ΪߵƽˣַCBA=010ʱֻY2õͬݲΡ
С
½ƵʼƵĸģ飬ͨQUARTUS ɿԸģб༭ۺϡη棬Ըģĵķͼ湦˻⣬ԱƵʵҪá
ƶԵȾƵʼƽϵͳơȽƵʲһ㷽ؽܵȾȲƵԭõȾȲԭͨFPGAVHDḶFPGA(ֳɱ)оƬһ8λʽȾƵʼƣƵʼƵIJΧΪ0-100MHZ,QUARTUS ɿб༭ۺϡη棬صCPLDУʵʵ·ԣʵƵʼнϸ
ʵԺͿɿԣﵽԤڵĽʹͳƵʼȣFPGAƵƵʼƼ˵·ƣϵͳƵʵԺͿɿԣʵϵͳҲƵơ
αҵУҳ˶صרҵ֪ʶԼصʵ˻عˣջڻҪصĵ·ͼĹУһѧʹwordͼαҵƲҶԱרҵػ֪ʶ˺ܺõĸϰԭ鱾ϵ֪ʶչ죬ҵƲҵĶҲҴѧµ֪ʶ
¼ Ƶʼƶļ
PIN1MHZ_1clkINPUTVCCCNT10CLKCLRENACQ[3..0]CARRY_OUTCNT10clkinclkoutSD[3..0]CLKCLRENAinst5CQ[3..0]CARRY_OUTSD[19..16]inst10inst1cntclkfreq1freq488freq1953freq7812freq31250freq125kfreq500kinstTESTCTLCLKTSTENCLR_CNTLOADinst12CNT10CLKCLRENAinst2CNT10CLKCLRENAinst3CNT10CLKCLRENAinst4CQ[3..0]CARRY_OUTCQ[3..0]CARRY_OUTCNT10CQ[3..0]CARRY_OUTSD[7..4]CLKCLRENAinst6CNT10CQ[3..0]CARRY_OUTSD[23..20]SD[11..8]CLKCLRENAinst7CNT10CQ[3..0]CARRY_OUTSD[27..24]SD[15..12]CLKCLRENAinst8REG32BCQ[3..0]CARRY_OUTSD[31..28]displayLOADin7[3..0]in6[3..0]in5[3..0]in4[3..0]in3[3..0]in2[3..0]in1[3..0]in0[3..0]clkinst9lout7[6..0]SEL[2..0]OUTPUTOUTPUTDOUT[31..0]dout[31lout7[6..0]sel[2..0]sd[31..0]DIN[31..0]inst11 źԴģԴ
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PIN1MHZ_1 IS
PORT (clkin : IN STD_LOGIC; clkout : OUT STD_LOGIC); END PIN1MHZ_1;
ARCHITECTURE A OF PIN1MHZ_1 IS BEGIN
PROCESS(clkin)
variable cnttemp : INTEGER RANGE 0 TO 99; BEGIN
IF clkin='1' AND clkin'event THEN IF cnttemp=99 THEN cnttemp:=0; ELSE
IF cnttemp<50 THEN clkout<='1'; ELSE clkout<='0'; END IF;
cnttemp:=cnttemp+1; END IF; END IF; END PROCESS; END A;
32λԴ
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG32B IS
PORT(LOAD: IN STD_LOGIC;
DIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(31 DOWNTO 0)); END ENTITY REG32B;
ARCHITECTURE ART OF REG32B IS BEGIN
PROCESS ( LOAD, DIN ) IS
92ƪĵ