ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

صفحه 2 از 2 نخست 12
نمایش نتایج: از 11 به 19 از 19
  1. #11
    2007/04/19
    385
    24

    پاسخ : طراحي چند TTL بر روي CPLD

    شروع برنامه نويسي vhdl يه نقطه استارت مي خواد و بعد از اين استارت شما ميتونيد هر کاري خواستين انجام بدين. البته من هم زياد حرفه اي نيستم اما ميتونم اين نقطه استارت رو بهتون نشون بدام .اون 12 led هم به خاطر اين هست که شما بتونيد تاثير برنامه اي که cpld روي ورودي ها تون ميزاره ببينيد و در مدار نهايي که شما لازم دارين هيچ نقشي نداره. در هر صورت هر موقع مدارچاپي تون آماده شد بگين شروع کنيم . البته قبلش شماتيک رو بذارين اگه مشکلي نداشت اون وقت pcb در بيارين.
  2. #12
    2011/03/08
    ارومیه
    131
    2

    پاسخ : طراحی چند TTL بر روی CPLD

    نمیشه همین شماتیک بالایی که گذاشتم رو اول کار بکنیم؟
    میخوام اول از یه چیز ساده شروع بکنم بعد برم سراغ شماتیک های پیچیده تر
    البته ساده تر هم دارم که فقط یه دونه TTL* داره یه دونه ASIC داره و دو تا EPROM.
    اگه میخواهی این رو کار بکنیم :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت









    روی کامپیوتر هم میتونی نوار رو اجرا بکنی :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  3. #13
    2007/04/19
    385
    24

    پاسخ : طراحي چند TTL بر روي CPLD

    خوب من هم منظورام اينکه شما بتونيد اون شماتيک رو درست کنيد منتها بايد يه برد داشته باشين که برنامه نوشته شده رو روش تست بکنيد. اينکه مدارتون يه دونه آي سي داشته باشه يا 10 تا فعلا مهم نيست. شما ميخواي روش انجام کارو ياد بگيري و بعدا ميتونيد هر مداري رو با هر پيچيدگي طراحي کنيد. مثلا همين شماتيک که اول گذاشتين 10 خط کدنويسي بيشتر نداره
  4. #14
    2011/03/08
    ارومیه
    131
    2

    پاسخ : طراحی چند TTL بر روی CPLD

    من با تست مدار هیچ مشکلی ندارم. میتونم راحت بزنم روی یه تبدیل SMD به DIP و بعد روی برد برد تست بکنم. واسه پروگرم کردن CPLD هم میتونم از پورت Jtag استفاده بکنم :





    الان فقط لنگ این هستم که چطوری یه دونه TTL رو روی CPLD شبیه سازی بکنم. بقیه موارد همشون حله!
  5. #15
    2007/04/19
    385
    24

    پاسخ : طراحي چند TTL بر روي CPLD

    برنامه نمونه:
    پياده کردن 74HC174 بوسيله VHDL در يک CPLD به شماره XC2C64A-5VQ44C نرم افزار مورد استفاده ISE 13.2

    1- نرم افزار رو اجرا کنيد و يه پروژه جديد تعريف کنيد


    2- اسم و محل ذخيره رو انتخاب کنيد


    3- نوع cpld مورد استفاده و Package رو انتخاب کنيد




    4- از منوي project گزينه new source را انتخاب کنيد


    5-گزينه vhdl module را انتخاب و در قسمت file name يک اسم دلخواه وارد کنيد


    6-آي سي 74hc174 داراي يک پايه کلاک و يک پايه ريست و يک باس 6 بيتي براي ديتاي ورودي و يک باس 6 بيتي براي ديتاي خروجي است که اين پايه ها به صورت زير در جدول تعريف ميشوند توجه داشته باشين که اين عبارت ها يه اسم هستن و شما ميتونيد از هر اسم ديگه اي استفاده کنيد در اين صورت اسم هاي داخل process که در زير اومده رو هم بايد عوض کنيد


    7-


    8- بعد کليک روي finish شکل زير ظاهر ميشه


    9- شما بايد مابين عبارت begin و end Behavioral کدهاي زير رو وارد کنيد

    کد:
    process (HC_174_CLK,HC_174_MR)
    
    begin
    
    	if HC_174_MR='1' then 
    		
    		HC_174_Data_out <= "000000";
    		
    	elsif rising_edge(HC_174_CLK) then
    	
    		HC_174_Data_out <= HC_174_Data_in;
    			
    	end if;
    	
    end process;
    مثل شکل زير


    10- حالا بايد براي نرم افزار تعريف کنيد که مثلا پايه هاي HC_174_Data_in به کدوم پايه آيسي XC2C64A وصل ميشه. رو قسمت Floorplan IO کليک کنيد و پيغام yes رو تاييد کنيد




    11- صفحه اي به شکل زير ظاهر ميشه که شما بايد در سمت چپ شماره پين ها رو وارد کنيد


    12- حالا از منوي file گزينه save رو انتخاب و پيغام ok را تاييد کنيد و سپس از منوي file گزينه exit را انتخاب کنيد تا به برنامه اصلي برگرديد


    13- حال روي علامت مثلث سبز رنگ کليک کنيد


    14- خوب حالا همه چي تموم شده و بايد يه صفحه مثل شکل زير داشته باشين


    15- پروگرام کردن آيسي : از منوي tool گزينه IMPACT رو انتخاب کنيد و پيغام ok رو تاييد کنيد



    16- روي گزينه lunch wizard کليک کنيد و پيغام ok را تاييد کنيد



    17- در اين مرحله اگر برد مدارچاپي و آيسي شما مشکل نداشته باشد آيسي XC2C64A به صورت اتوماتيک شناسايي ميشود ( عکس هاي زير مربوط به آي سي xc9572 هست)


    18- حالا روي آي سي XC2C64A کليک کنيد و فايلي با پسوند jed را انتخاب کنيد


    19- حالا روي آي سي راست کليک کرده و گزينه program را انتخاب کنيد و پيغام ok را تاييد کنيد



    20- آي سي شروع به برنامه ريزي ميشود


  6. #16
    2011/03/08
    ارومیه
    131
    2

    پاسخ : طراحی چند TTL بر روی CPLD

    واقعا مرسی یه دونه تشکر کمه
    راضی به این همه زحمت نبودم

    الان دو تا مشکل دارم یکی اینکه این آی سی XC2C64A به اصطلاح از خانواده Cool Runner II هست که حداکثر با 3.3 ولت کار میکنه ولی مدار من 5 ولت هست بنابراین از این آی سی نمیتونم استفاده بکنم.
    از طرف دیگه هم آی سی XC9572 رو نتونستم اینجا پیدا بکنم
    با توجه به این مقایسه بین مشخصات آی سی ها :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    ظاهرا از XC9536 هم میتونم استفاده بکنم که البته از XC9572آ* ضعیف تر هست. این طور نیست؟

    مسئله بعدی اینه که به نظر میاد که این قسمت برنامه نویسیش یه کمی اذیتم بکنه
    البته اون طوری که توی آموزشها دیدم ظاهرا کدهای آماده هم توی خود برنامه وجود داره که میشه ازشون استفاده کرد
    ولی اینکه چطوری میشه پایه های دو (یا چند تا TTL) رو به صورت اینترنال و با برنامه نویسی به هم دیگه ارتباط داد واقعا سخت به نظرم میاد
    اگه میشه یه چند خط برنامه نمونه واسه ارتباط دو تا TTL واسم بنویس :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


  7. #17
    2007/04/19
    385
    24

    پاسخ : طراحي چند TTL بر روي CPLD

    اگه برنامه نهايي شما توي XC9536 جابشه ميتونيد ازش استفاده کنيد. مثلا همين مداري که گذاشتين به راحتي تو اين آي سي قابل پياده کردن هست

    خوب حالا شما نياز به يک مرجع فارسي براي آموزش VHDL دارين که پيش نهاد من کتاب زير هست
    http://www.naghoospress.ir/bookview.aspx?bookid=1485903

    اما در مورد اتصالات داخل CPLD
    فرض کنيد ميخوايم يه مدار خيلي ساده مثل شکل زير رو پياده کنيم


    توي عکس بالايي دوتا سيم هست که يکي بارنگ آبي و يکي هم با رنگ زرد مشخص کردام اين دوتا سيم داخل CPLD هست و از طريق گيتهاي ورودي مقدار ميگيرند .
    براي تعريف اين حالت ها از SIGNAL استفاده ميشه .



    کد:
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    
    entity test is
    
      Port ( 	 
    					INPUT_A     : in STD_LOGIC;
    					INPUT_B     : in STD_LOGIC;
    					INPUT_C     : in STD_LOGIC;					
    					OUTPUT_DATA   : OUT STD_LOGIC);
    end test;
    
    architecture Behavioral of test is
    
    	SIGNAL SEG_TEMP1 : STD_LOGIC ; 
    	SIGNAL SEG_TEMP2 : STD_LOGIC ;
    
    begin
    
    --********************************************************
    	SEG_TEMP1 <= INPUT_A OR INPUT_B ;
    	SEG_TEMP2 <= NOT INPUT_C;
    
    	OUTPUT_DATA <= SEG_TEMP1 AND SEG_TEMP2;
    			
    --********************************************************
    
    end Behavioral;
  8. #18
    2011/03/08
    ارومیه
    131
    2

    پاسخ : طراحی چند TTL بر روی CPLD

    واقعا مرسی از اینکه این همه وقت صرف کردی @};-
    ولی واسه کوچیک سازی چند تا TTL ناقابل این همه برنامه نویسی اصلا با عقل جور در نمیاد :eek:
    اونم برنامه نویسی واسه تک تک گیت ها و پایه ها
    این طوری واسه هم بندی 8 تا TTL که پروژه نهاییم هست پدرم در میاد! oo:
    ببین نظرت در مورد این روش چیه :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    به نظرت جواب میده؟
    ولی ظاهرا واسه همه TTL ها نداره! :cry:
  9. #19
    2007/04/19
    385
    24

    پاسخ : طراحي چند TTL بر روي CPLD

    نقل قول نوشته اصلی توسط Squall
    ولي واسه کوچيک سازي چند تا TTL ناقابل اين همه برنامه نويسي اصلا با عقل جور در نمياد :eek:
    اونم برنامه نويسي واسه تک تک گيت ها و پايه ها
    اين طوري واسه هم بندي 8 تا TTL که پروژه نهاييم هست پدرم در مياد! oo:
    دقيقا همين طور هست که گفتين ولي هدف من آشنا شدن با نحوه استفاده از signal بود البته signal مفهوم ديگه اي داره و نميشه گفت که فقط يه تکه سيم براي اتصال هست. اما کد اصلي براي اون سه تا گيت and - or - not بالايي به صورت زير هست

    کد:
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    
    entity test is
    
      Port ( 	 
    					INPUT_A     : in STD_LOGIC;
    					INPUT_B     : in STD_LOGIC;
    					INPUT_C     : in STD_LOGIC;					
    					OUTPUT_DATA   : OUT STD_LOGIC);
    end test;
    
    architecture Behavioral of test is
    
    begin
    
    
    --********************************************************
    
    	OUTPUT_DATA <= NOT INPUT_C AND ( INPUT_A OR INPUT_B );
    			
    --********************************************************
    
    end Behavioral;
    همون طور که ميبينيد اصلا هيچ signal هم تعريف نشده و در حقيقت نيازي هم به تعريف نبود


    در مورد عکس بالايي که گذاشتين من اسم ورودي ها و خروجي ها رو تغيير دادام


    و يه کد نمونه به صورت زير براش نوشتم
    کد:
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    
    entity test is
    
      Port ( 	 
    				HC_174_INPUT   : in STD_LOGIC_VECTOR(4 DOWNTO 0);
    				HC_174_CLK    : in STD_LOGIC;
    				HC_174_MR    : in STD_LOGIC;
    				HC_174_OUTPUT  : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
    
    				HC_157_INPUT_B  : in STD_LOGIC_VECTOR(3 DOWNTO 0);
    				HC_157_INPUT_A  : in STD_LOGIC_VECTOR(1 DOWNTO 0);
    				HC_157_OUTPUT  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );
    
    end test;
    
    architecture Behavioral of test is
    
    	SIGNAL SIG_HC174  :STD_LOGIC_VECTOR(2 DOWNTO 0);
    
    begin
    
    
    	PROCESS (HC_174_CLK,HC_174_MR)
    	BEGIN
    	
    		IF HC_174_MR='1' THEN
    		
    			SIG_HC174 <= "000";
    			HC_174_OUTPUT <= "00";
    	
    		ELSIF RISING_EDGE(HC_174_CLK) THEN
    
    			SIG_HC174 <= HC_174_INPUT(4 DOWNTO 2);
    			HC_174_OUTPUT <= HC_174_INPUT(1 DOWNTO 0);
    			
    		END IF;
    		
    	END PROCESS;
    	
    	
    	
    	PROCESS (SIG_HC174(2))
    	BEGIN
    	
    		IF SIG_HC174(2)='1' THEN
    		
    			HC_157_OUTPUT <= HC_157_INPUT_B;
    		
    		ELSE
    			
    			HC_157_OUTPUT(1 DOWNTO 0) <= SIG_HC174 (1 DOWNTO 0);
    			HC_157_OUTPUT(3 DOWNTO 2) <= HC_157_INPUT_A;
    		
    		END IF;
    
    	END PROCESS;	
    	
    	
    
    end Behavioral;

صفحه 2 از 2 نخست 12
نمایش نتایج: از 11 به 19 از 19

موضوعات مشابه

  1. pll در cpld
    توسط esmaeil21 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 5
    آخرين نوشته: 2015/06/22, 00:04
  2. طراحی مدار آنالوگ داخل CPLD ؟
    توسط Squall در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 2
    آخرين نوشته: 2014/03/26, 12:34
  3. CPLD - XC95144
    توسط MOHANDES P در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 4
    آخرين نوشته: 2013/11/19, 12:12
  4. CPLD
    توسط nonasoheil در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 0
    آخرين نوشته: 2010/01/02, 10:08
  5. جلوگیری کپی از روی cpld ?
    توسط farhad_year2004 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 2
    آخرين نوشته: 2008/08/04, 18:22

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •