evgenz
Участник-
Постов
20 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о evgenz
-
Звание
Участник
-
по двигателю известно что Напряжение питания: номинальное, В 24 * максимально допустимое, В 60 * Ток: максимальный, управления, не более, А 32 * номинальный, А 7,5 холостого хода, не более, А 0,5 требование к ШИМ Сопротивление якоря, Ом 1,0 Индуктивность цепи якоря, мГн 0,8 -1,2 Напряжение трогания, не более, В 2,5 *
-
я об этом тоже так думал просто не понятно в датешит там показывают что на сигнал HEN подается просто напряжение, а на IN- подается ШИМ просто по этой микрухе я еще один материал нашел там тоже на HEN подается напряжение а на IN+ и IN- формируют ШИМ что и смущает все это. А на этом рисунке как вы говорите предлагают на HEN подать ШИМ а один из нижних ключей держать постоянно открытым, это нормально ???? (я просто не силен в аналоговой части можно сказать это первое за что заставили взяться...) транзисторы не будет греться??? Class_D_Audio_II_Evaluation_Board__AN9525_.pdf
-
Народ помогите разобраться с одной из микросхем HIP4080\HIP4081. Мне нужно управлять двигателем постоянного тока (32 А) т.е. с начало крутить его в одну сторону а потом в другую. А datasheet на эти микросхемы не сказано как менять направленность т.е. каким сигналом с начало одну диаганаль открываем а потом другую. Там просто показано куда ШИМ подавать и все.. Я даже в микрокап промоделировал ни чеого всеровну не понятно hip4081a.pdf hip4080a.pdf
-
HIP4080\HIP4081
evgenz опубликовал тема в Схемотехника
Народ помогите разобраться с одной из микросхем HIP4080\HIP4081. Мне нужно управлять двигателем постоянного тока (32 А) т.е. с начало крутить его в одну сторону а потом в другую. А datasheet на эти микросхемы не сказано как менять направленность т.е. каким сигналом с начало одну диаганаль открываем а потом другую. Там просто показано куда ШИМ подавать и все.. hip4080a.pdf hip4081a.pdf -
Tyming Analyzer
evgenz ответил evgenz тема в Языки проектирования на ПЛИС (FPGA)
по поводу комутатора я его давно разбил, было вот так DATA_OUT10<="00000" & Q_SIGREAD WHEN AR1(14 DOWNTO 0)="000000000000100" ELSE "00000" & STIME WHEN AR1(14 DOWNTO 0)="000000000001000" ELSE DATA_FFT; DATA_OUT20 <= "00000" & STIMERD when AR2(9 downto 0)=ADDR_STIMERD else DATA_CORE; DATA_OUT<=DATA_OUT0 WHEN AD(19 DOWNTO 18)="00" ELSE DATA_OUT1 WHEN AD(19 DOWNTO 18)="01" ELSE X"00000 а сделал стало вот так, если я правильно понимаю process (X50) begin if(rising_edge(X50)) then if(AR1(14 DOWNTO 0)="000000000000100") then DATA_OUT10 <= "00000" & Q_SIGREAD; end if; if(AR1(14 DOWNTO 0)="000000000001000") then DATA_OUT10 <= "00000" & STIME; end if; if(AR1(14 DOWNTO 0)/="000000000000100" and AR1(14 DOWNTO 0)/="000000000001000") then DATA_OUT10 <= DATA_FFT; end if; if(AR2(9 downto 0)=ADDR_STIMERD) then DATA_OUT20 <= "00000" & STIMERD; end if; if(AR2(9 downto 0)/=ADDR_STIMERD) then DATA_OUT20<=DATA_CORE; end if; end if;--rising end process; process (X50) begin if rising_edge(X50) then if (AD(19 DOWNTO 18) = "00") then DATA_OUT<=DATA_OUT0; end if; if (AD(19 DOWNTO 18) = "01") then DATA_OUT<=DATA_OUT1; end if; if(AD(19 DOWNTO 18) /= "00" and AD(19 DOWNTO 18)/="01") then DATA_OUT<=X"0000000" & "00" & INTR1 & INTR0; end if; end if; end process; или я что то делаю не так??? а по поводу адреса AD и AR это и есть адрес и он особо не дешифрируется?? но я в проекте не где не видел больших дешифраторов -
Tyming Analyzer
evgenz ответил evgenz тема в Языки проектирования на ПЛИС (FPGA)
есть входная 32-битная шина, и шина адреса на 24 бита, вот эти шины дальше ветвятся по всем модулям, если вы это имеете ввиду. также есть разные управляющие битики, но все эти данные и шины проходят через промежуточные регистры такой отчет я получил в Timing Analyzer, там и написано что (Levels of Logic = 8) -
Tyming Analyzer
evgenz ответил evgenz тема в Языки проектирования на ПЛИС (FPGA)
Роман а что значит RTL для XREGOS, под RTL что подразумевается И почему на эти цепи ставить промежуточный регистр, по какому принципу вы их определили??? я так думал что нужно промежуточные цепи ставить где в отчете (fanout=68) большой или я не прав?? я выход первого модуля завожу на регистры и каждый такт соответственно данные в нем защелкиваются, в свою очередь эти регистры я завожу на входы второго модуля, ну т.е. как вы и написали но это особо не помогло -
Tyming Analyzer
evgenz ответил evgenz тема в Языки проектирования на ПЛИС (FPGA)
не хочу задавать глупых вопросов а что значит hot-spot?? если я правильно понял то все надо упростить, у меня в главном модуле просто объявлены другие модули как компоненты и сигналы одного модуля заходят на входы другого, я пробовал все эти сигналы заводить через промежуточный регистр но особо не помогло, анализатор всеровну пишет (Levels of Logic = 8), и задержки не меняются подскажите как лучше делать промежуточные регистры так xCSWR: FOR B IN 7 DOWNTO 0 GENERATE CSWR0( B )<=CSW( B ); END GENERATE; или достаточно будет CSWR0 <= CSW; -
Tyming Analyzer
evgenz ответил evgenz тема в Языки проектирования на ПЛИС (FPGA)
у меня старая версия ISE плис SPARTAN 3, и там нет PlanAhead, там есть FloorPlaner. Я с ним особо никогда не работал, поэтому особо дельного по этому поводу ничего не могу сказать. Я пробовал как то в ручную все расположить но ничего не получилось -
Tyming Analyzer
evgenz ответил evgenz тема в Языки проектирования на ПЛИС (FPGA)
народ вот что у меня выдает Timing Analyzer Timing constraint: TS_CHN = MAXDELAY FROM TIMEGRP "TNM_CHN" TO TIMEGRP "TNM_CHN" 18 ns; For more information, see From:To (Multicycle) Analysis in the Timing Closure User Guide (UG612). 1822320 paths analyzed, 62016 endpoints analyzed, 12401 failing endpoints 12401 timing errors detected. (12401 setup errors, 0 hold errors) Maximum delay is 45.447ns. -------------------------------------------------------------------------------- Slack (setup paths): -27.447ns (requirement - (data path - clock path skew + uncertainty)) Source: XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/XFDC1 (FF) Destination: XCORRELATOR/XKANAL17/XGEN_FRQ_KANNEW/NEWCHIPS_12 (FF) Requirement: 18.000ns Data Path Delay: 45.447ns (Levels of Logic = 8) Clock Path Skew: 0.000ns Source Clock: X50 rising at 0.000ns Destination Clock: X50 rising at 20.000ns Clock Uncertainty: 0.000ns Maximum Data Path: XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/XFDC1 to XCORRELATOR/XKANAL17/XGEN_FRQ_KANNEW/NEWCHIPS_12 Location Delay type Delay(ns) Physical Resource Logical Resource(s) ------------------------------------------------- ------------------- SLICE_X34Y85.YQ Tcko 0.720 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/RRM XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/XFDC1 SLICE_X34Y84.G4 net (fanout=1) 0.438 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/RRM SLICE_X34Y84.Y Tilo 0.608 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/CLR XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/CLR1 SLICE_X34Y106.SR net (fanout=1) 1.965 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/CLR SLICE_X34Y106.YQ Trq 1.529 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/RM1 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/XFDC SLICE_X55Y84.G1 net (fanout=3) 4.563 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/RM1 SLICE_X55Y84.Y Tilo 0.551 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XRG_FPSP/_N0023 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/RESK1 SLICE_X40Y71.SR net (fanout=68) 4.360 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/RESK SLICE_X40Y71.XQ Trq 1.529 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/NEWSRNSI XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XREGOS/XFDC6 SLICE_X54Y85.F3 net (fanout=2) 1.817 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/NEWSRNSI SLICE_X54Y85.X Tilo 0.608 XCORRELATOR/XKANAL17/RESKAN XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XREGOS/CLR11 SLICE_X41Y121.SR net (fanout=4) 3.179 XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XREGOS/CLR1 SLICE_X41Y121.YQ Trq 1.529 XCORRELATOR/XKANAL17/DOS<11> XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XREGOS/QOUT_10 SLICE_X46Y74.F3 net (fanout=39) 8.457 XCORRELATOR/XKANAL17/DOS<10> SLICE_X46Y74.X Tilo 0.608 XCORRELATOR/XKANAL17/KT<2> XCORRELATOR/XKANAL17/XGEN_FRQ_KANNEW/CENEWL1 SLICE_X44Y67.SR net (fanout=2) 1.333 XCORRELATOR/XKANAL17/KT<2> SLICE_X44Y67.XQ Trq 1.529 XCORRELATOR/XKANAL17/KT<0> XCORRELATOR/XKANAL17/XGEN_FRQ_KANNEW/XFDCP SLICE_X102Y64.CE net (fanout=23) 9.522 XCORRELATOR/XKANAL17/KT<0> SLICE_X102Y64.CLK Tceck 0.602 XCORRELATOR/XKANAL17/XGEN_FRQ_KANNEW/NEWCHIPS<12> XCORRELATOR/XKANAL17/XGEN_FRQ_KANNEW/NEWCHIPS_12 ------------------------------------------------- --------------------------- Total 45.447ns (9.813ns logic, 35.634ns route) (21.6% logic, 78.4% route) судя по этому отчету все асинхронные частоты у меня согласованы т.е. метастабильности отсутствуют пробовал делать дополнительные регистры, не особо помогло, особо больших дешифраторов так же как и мультиплексоров нету. что можно еще попробовать??? -
Tyming Analyzer
evgenz ответил evgenz тема в Языки проектирования на ПЛИС (FPGA)
а что за настройки??? а то я только что не перелапатил, ничего не помогает, или может какую литературу по этому поводу посоветуете?? -
Tyming Analyzer
evgenz ответил evgenz тема в Языки проектирования на ПЛИС (FPGA)
вот выкладываю сам проект это верхний уровень где подключается два модуля на которые ругается по задержкам begin vcc<='1'; gnd<='0'; sh<=PE; CES<=WRR; SYNHR_S_OUT<=SYNHRS; synh_gPSP_OUT<=synh_gPSP; xCSWR: FOR B IN 7 DOWNTO 0 GENERATE CSWR0(B)<=CSW(B) AND WR_EN; CSRD(B)<=CSR(B) AND RD_EN AND N_KANR; END GENERATE; CSWR<=CSWR0; data<=da; n_kanw1<=n_kanW; Xbloc_reg_nkan: bloc_reg_nkan PORT MAP( da =>data , cs =>csWR(7 downto 0) , n_kan =>n_kanW1 , clk =>x50mh , memw =>memw , r_m =>r_m , dos =>dos , ddop =>ddop , dsdvig =>dsdvig, dfpsp=>dfpsp, NCHIPS=>NCHIPS, l =>l , DF=>DF , ce =>ce, x1ms=>x1ms, reskan=>reskan, cssynhr=>cssynhr, ces1ms=>ces1ms, ces1s=>ces1s, cssdvig=>cssdvig, changef=>changef, ADC=>ADC ); F<=X & "00000000000000000000000"; I_ADC<=I_ADC1 WHEN ADC='0' ELSE I_ADC2; Q_ADC<=Q_ADC1 WHEN ADC='0' ELSE Q_ADC2; Xgen_frq_kannew: gen_frq_kannew PORT MAP( CODE =>dos(10 DOWNTO 8) , csvt => ce, memw=>memw, Lvt=>L, changef=>changef, r_m =>reskan , synhr_1ms => synh_gPSP, synhr_1s =>synhrs , clk =>x50mh , DFPSP=>DFPSP, NCHIPS => NCHIPS, FPSPx2 => FPTx2, FPSPs => FPSPs, FPSP =>FPSPA , hpt =>hpt1i , hpt05 =>hpt0 , hvt =>hvta , hvt_1 =>hvt_1 , qread =>qr, pdvt => pdvt, VTCODE => VTCODE, KT => KTGFPSP ); а сами модули вот library UNISIM; use UNISIM.VComponents.all; entity gen_frq_kannew is --12in Port ( CHANGEF : in std_logic; CODE:IN STD_LOGIC_VECTOR (2 DOWNTO 0); DFPSP:in std_logic_vector(31 downto 0); NCHIPS:in std_logic_vector(12 downto 0); Lvt:in std_logic_vector(9 downto 0); r_m : in std_logic; synhr_1ms,synhr_1s : in std_logic; memw,csvt,clk : in std_logic; FPSPx2,FPSPs : OUT std_logic; FPSP : OUT std_logic; hpt,hvt,HVT_1,HPT05,HPT_1 : OUT std_logic; qread:out std_logic_vector(31 downto 0); pdvt:out std_logic_vector(9 downto 0); VTCODE:OUT STD_LOGIC; KT:OUT STD_LOGIC_VECTOR(5 DOWNTO 0) ); end gen_frq_kannew; architecture Behavioral of gen_frq_kannew is attribute syn_hier : string; attribute syn_hier of Behavioral : architecture is "hard"; component acum_fazavhd port ( B: IN std_logic_VECTOR(31 downto 0); Q,S: OUT std_logic_VECTOR(31 downto 0); CLK: IN std_logic; BYPASS: IN std_logic; Q_C_OUT: OUT std_logic; C_OUT: OUT std_logic; ACLR,SINIT: IN std_logic); end component; COMPONENT sthptnew PORT( res,SYNHR_1MS : IN std_logic; L : IN std_logic_VECTOR(12 DOWNTO 0); clk:in std_logic; FPSP : IN std_logic; q : OUT std_logic_vector(12 downto 0); HPT0,HPT1,HPT2,HPT05,HPT15 : OUT std_logic ); END COMPONENT; COMPONENT st_time_out PORT( ce,memw,hpt,CLK : IN std_logic; l:in std_logic_vector (9 downto 0); res : IN std_logic; synh : IN std_logic; qout_time : OUT std_logic_vector(9 downto 0); HVT,HVT0 : OUT std_logic ); END COMPONENT; COMPONENT wr_1a PORT( WR : IN std_logic; CLK : IN std_logic; RES : IN std_logic; A : OUT std_logic; PE : OUT std_logic; PE1 : OUT std_logic ); END COMPONENT; COMPONENT st5 PORT( CLK : IN std_logic; CLK5 : OUT std_logic ); END COMPONENT; signal q_faza:std_logic_vector(31 downto 0):="00000000000000000000000000000000"; signal qout_vt_1s:std_logic_vector(9 downto 0):="0000000000"; signal qout_hpt_1ms,pdpt:std_logic_vector(12 downto 0):="0000000000000"; signal gnd:std_logic:='0'; signal vcc:std_logic:='1'; signal FREQ1A,FREQ1A0,rma,FPSPi,FPSPT,FPSPx2T,FPSPx2L,FPSPsi,HVT0:std_logic; signal hp_t,h_pt1,h_vt,synhr,CLRF,resfaza,hpt05i,HPT15i,HPT0:std_logic; signal accum1,accum2:std_logic_vector(8 downto 0); signal B,B1,NEWF:std_logic_vector(31 downto 0); SIGNAL Nnew,NEWCHIPS:STD_LOGIC_VECTOR(12 DOWNTO 0); signal NEWBCEpre,NEWBCESET,NEWLCE,newBcet,newBcet2,newL,cenewL,rnewL,NEWLT:std_logic; SIGNAL NEWBCE:STD_LOGIC:='1'; signal firstB,FIRSTL,SINITACC:std_logic; signal CODE2:std_logic_vector(2 downto 0); CONSTANT DFPSPVT:STD_LOGIC_VECTOR(31 DOWNTO 0):=X"1A29C77A"; --signal znak_dop:std_logic_vector (15 downto 0); signal r_mi : std_logic; signal NCHIPSi : std_logic_vector (12 downto 0); begin gnd<='0'; vcc<='1'; -------------------------------- r_mi <= r_m; NCHIPSi <= NCHIPS; HPT05<=hpt15i; rnewL<=r_mi or (sinitacc);-- AND NEWLT); cenewL<=CHANGEF and code(2); Xfdc: fdcpe port map (d=>vcc,c=>clk,ce=>gnd,pre=>cenewL,clr=>rnewL,q=>newL); firstB<='1' when B=x"00000000" else '0'; NEWBCEpre<=(HVT0 AND hpt15i AND FREQ1A AND NEWLT);-- or (not NEWL); NEWBCESET<=NEWBCEPRE OR R_Mi; xFDCP: FDCPe PORT MAP (D=>GND,c=>clk,Ce=>GND,PRE=>NEWBCESET,CLR=>CENEWL,Q=>NEWBCE); --SINITACC<=NEWBCET;-- and not NEWBCET2; NEWF<=DFPSPVT WHEN NEWL='1' AND HVT0='1' AND HPT15i='1' ELSE DFPSP; process (clk,r_mi) begin if r_mi='1' then B<=(others=>'0'); NEWCHIPS<=(OTHERS=>'0'); NEWLT<='0'; newBcet2<='0'; elsif (rising_edge(clk)) then --if (sinitacc='1') then B<=NEWF(30 downto 0) & '0'; end if; if (newBce='1') then B<=NEWF; end if; if (newBce='1') then VTCODE<=CODE2(2); end if; if (newBceT='1') then NEWCHIPS<=NNEW; end if; IF CHANGEF='1' THEN CODE2<=CODE; END IF; NEWLT<=NEWL; newBcet2<=newBcet; Nnew<=NCHIPSi; end if; end process; newBcet<=newBce; sinitacc<=newBcepre; B1<=DFPSPVT WHEN sinitacc='1' ELSE B; Xacum_faza : acum_fazavhd port map (q=>q_faza(31 downto 0), B => B1, CLK => clk, Q_C_OUT => FREQ1A, --ЧАСТОТА ПСП C_OUT => FREQ1A0, --ЧАСТОТА ПСП НА ТАКТ РАНЬШЕ SINIT=>SYNHR, BYPASS=>sinitacc, ACLR => RMA ); FPSPsi<=FPSPi AND NOT FPSPT; FPSPs<=FPSPsi; FPSPx2L<=NOT Q_FAZA(30); FPSPx2<=FPSPx2L AND NOT FPSPx2T; xFD1: FD PORT MAP (D=>FPSPx2L,C=>CLK,Q=>FPSPx2T); FPSPi<=not Q_FAZA(31); xFD2: FD PORT MAP (D=>FPSPi,C=>CLK,Q=>FPSPT); FPSP<=FPSPi; rma<=r_mi;-- or synhr; xsthptnew: sthptnew PORT MAP( res =>r_mi, SYNHR_1MS =>SYNHR, L => NEWCHIPS, clk => CLK, FPSP=>FPSPsi, q =>qout_hpt_1ms , HPT0=>HPT0, HPT15=>hpt15i ); hpt<=HPT0; hpt_1<=hpt15i; HVT_1<=hpt15i AND HVT0; xst_time_out: st_time_out PORT MAP( CLK =>CLK , ce=>csvt, memw=>memw, L=>Lvt, hpt =>HPT0 , res =>r_mi, synh =>synhr_1s , qout_time =>qout_vt_1s , HVT =>h_vt , HVT0 => HVT0 ); synhr<=synhr_1ms;-- or synhr_1s; --OR is in "kanal" hvt<=h_vt; --QREAD(41 DOWNTO 34)<=(OTHERS=>'0'); PROCESS (clk) BEGIN IF RISING_EDGE(CLK) THEN qread(31 downto 22)<=qout_vt_1s; pdpt<=qout_hpt_1ms; qread(21 downto 9)<=pdpt; accum1<= q_faza(31 downto 23); accum2<= accum1; qread(8 downto 0)<= accum2; END IF; END PROCESS; и вот второй модуль entity FORM_RM is Port ( MEMW,cs,n_kan : in std_logic; DA:IN STD_LOGIC_VECTOR(31 DOWNTO 0); -- x1MS : in std_logic; x50 : in std_logic; RES : in std_logic; R_M,rm1 : out std_logic ); end FORM_RM; architecture Behavioral of FORM_RM is SIGNAL VCC:STD_LOGIC:='1'; SIGNAL CLR,csa,R_Mi,RRM:STD_LOGIC:='0'; begin R_M<=R_Mi or res; rm1<=r_mi; xFDC: FDCE PORT MAP (D=>dA(0),ce=>csa,C=>MEMW,CLR=>clr ,Q=>R_Mi); xFDC1: FDC PORT MAP (D=>R_Mi,C=>x50,CLR=>RES ,Q=>RRM); clr<=RRM or res; csa<=n_kan and cs; end Behavioral; вот он ругается на задержки между xFDC1 и сигналом NEWCHIPS, это я выложил отдельные модули как весь проект показать я не знаю народ подскажите как уменьшить эти задержки уже только что не пробовал я не совсем понял что за GUI ??? у меня проект собирается через командную строку, а не через ISE. -
Tyming Analyzer
evgenz ответил evgenz тема в Языки проектирования на ПЛИС (FPGA)
сложновато будет выложить проект он слишком большой и состоит из многих отдельных файлов. Если на вскидку сказать как можно уменьшить время задержки??? ну какими путями, например поможет если длинные цепи разбить на более короткие дополнительными регистрами??? -
Tyming Analyzer
evgenz опубликовал тема в Языки проектирования на ПЛИС (FPGA)
Всем здрасти. Люди помогите с одной проблемой. В Timing Analyzer делаю анализ он выдает ошибки, то что не выдерживаются констрэйны по не которым цепям ну типа такой Slack (setup paths): -26.630ns (requirement - (data path - clock path skew + uncertainty)) Source: XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/XFDC1 (FF) Destination: XCORRELATOR/XKANAL17/XGEN_FRQ_KANNEW/NEWCHIPS_7 (FF) Requirement: 18.000ns Data Path Delay: 44.630ns (Levels of Logic = 8) Clock Path Skew: 0.000ns Source Clock: X50 rising at 0.000ns Destination Clock: X50 rising at 20.000ns Clock Uncertainty: 0.000ns Maximum Data Path: XCORRELATOR/XKANAL17/XBLOC_REG_NKAN/XFORM_RM/XFDC1 to XCORRELATOR/XKANAL17/XGEN_FRQ_KANNEW/NEWCHIPS_7 т.е. ограничения превышает на 26 нс. как можно сократить время распространения сигнала по этой цепи??? -
по поводу записи я так сделал чтобы по отрицательному фронту выставлялся WR_EN, а сама запись в регистр (т.е. данные снимаются с шину) когда WR_EN<=1 по поводу чтения было вот так DATA_OUT<=DATA_OUT0 WHEN AD(19 DOWNTO 18)="00" ELSE DATA_OUT1 WHEN AD(19 DOWNTO 18)="01" ELSE X"0000000" & "00" & INTR1 & INTR0; как вы предлагаете я тоже делал к сожалению это ситуацию не очень сильно улучшило, как глючит 7-ой бит так и продолжает