நவீன சாதனங்களில் plis பயன்பாடு. செய்தி மற்றும் பகுப்பாய்வு போர்டல் "எலெக்ட்ரானிக்ஸ் நேரம்" பெரிய fpga திட்டங்களை வடிவமைப்பதற்கான எடுத்துக்காட்டுகள்

செயலி, ஒரு குறிப்பிட்ட வழிமுறைகளை இயக்குவதற்குப் பதிலாக, ஒவ்வொரு நிரலுக்கும் மீண்டும் கட்டமைக்கப்பட்டு, வழிமுறையை நேரடியாக வன்பொருளாக மாற்றும் என்று கற்பனை செய்து பாருங்கள். FPGகள் இப்படித்தான் செயல்படுகின்றன. இன்றைய கட்டுரையில், இது எப்படி சாத்தியம் என்பதை விளக்கி, பல்வேறு FPGA வடிவமைப்பு முறைகளை உங்களுக்கு அறிமுகப்படுத்துகிறேன்.

தொடங்குவதற்கு, ASICகள் எவ்வாறு செயல்படுகின்றன என்பதற்கான டிஜிட்டல் தர்க்கத்தைப் பற்றி நீங்கள் கொஞ்சம் புரிந்து கொள்ள வேண்டும், ஆனால் அவற்றுடன் தொடங்குவது மிகவும் கடினம் மற்றும் விலை உயர்ந்தது, அதற்கு பதிலாக FPGAகளுடன் தொடங்குவது நல்லது.

FPGA என்றால் என்ன?

FPGAபுலம் நிரல்படுத்தக்கூடிய கேட் வரிசை (பயனர் நிரல்படுத்தக்கூடிய கேட் வரிசைகள், FPGA) என்பதன் சுருக்கம். மிகவும் பொதுவான வழக்கில், அவை FPGA - நிரல்படுத்தக்கூடிய லாஜிக் ஒருங்கிணைந்த சுற்றுகள் என்று அழைக்கப்படுகின்றன.

FPGA இன் உதவியுடன், நீங்கள் வார்த்தையின் உண்மையான அர்த்தத்தில், மேஜையில் மலிவு பிழைத்திருத்த பலகை மற்றும் பல ஆயிரம் பச்சை ரூபிள்களுக்கான டெவலப்பர் மென்பொருளுடன் வீட்டில் அமர்ந்து டிஜிட்டல் மைக்ரோ சர்க்யூட்களை வடிவமைக்க முடியும். ஆனால், இலவச விருப்பங்களும் உள்ளன. குறிப்பு: இது வடிவமைப்பதற்காக அல்ல, நிரலாக்கத்திற்காக அல்ல, ஏனென்றால் வெளியீட்டின் போது வன்பொருள் மட்டத்தில் ஒரு குறிப்பிட்ட அல்காரிதம் செய்யும் ஒரு இயற்பியல் டிஜிட்டல் சர்க்யூட்டைப் பெறுவோம், மேலும் செயலிக்கான புரோக் அல்ல.

இது பின்வருமாறு செயல்படுகிறது. போர்டில் நிறுவப்பட்ட FPGA சிப்புடன் இணைக்கப்பட்ட இடைமுகங்களின் தொகுப்புடன் தயாராக தயாரிக்கப்பட்ட அச்சிடப்பட்ட சர்க்யூட் போர்டு உள்ளது, இது போன்ற குளிர் தரவு மைய பலகை அல்லது பயிற்சிக்கான இந்த பிழைத்திருத்த பலகை போன்றவை.

நாங்கள் FPGA ஐ உள்ளமைக்கும் வரை, இடைமுகங்களிலிருந்து தரவை செயலாக்க சிப்பில் எந்த தர்க்கமும் இல்லை, எனவே, நிச்சயமாக, எதுவும் வேலை செய்யாது. ஆனால் வடிவமைப்பின் விளைவாக, ஃபார்ம்வேர் உருவாக்கப்படும், இது FPGA இல் ஏற்றப்பட்ட பிறகு, நமக்குத் தேவையான டிஜிட்டல் சர்க்யூட்டை உருவாக்கும். இந்த வழியில், நீங்கள் ஒரு 100G ஈதர்நெட் கட்டுப்படுத்தியை உருவாக்கலாம், அது நெட்வொர்க் பாக்கெட்டுகளைப் பெற்று செயலாக்கும்.

FPGA இன் ஒரு முக்கிய அம்சம் மறுகட்டமைக்கும் திறன் ஆகும். இப்போது நமக்கு 100G ஈத்தர்நெட் கன்ட்ரோலர் தேவை என்று வைத்துக்கொள்வோம், மேலும் ஒரு வாரத்தில் அதே போர்டை நான்கு சுயாதீன 25G ஈதர்நெட் இடைமுகங்களை செயல்படுத்த பயன்படுத்தலாம்.

சந்தையில் FPGA சிப் உற்பத்தியில் இரண்டு தலைவர்கள் உள்ளனர்: நன்கு அறியப்பட்ட Intel மற்றும் Xilinx. அவர்கள் சந்தையின் 58 மற்றும் 42% ஐக் கட்டுப்படுத்துகிறார்கள். Xilinx இன் நிறுவனர்கள் தங்கள் முதல் FPGA சிப்பை 1985 இல் கண்டுபிடித்தனர். இன்டெல் சமீபத்தில் சந்தையில் நுழைந்தது - 2015 இல், Xilinx அதே நேரத்தில் நிறுவப்பட்ட Altera ஐ உறிஞ்சியது. Altera மற்றும் Xilinx தொழில்நுட்பங்கள் பல வழிகளில் ஒரே மாதிரியானவை, அதே போல் வளர்ச்சி சூழல்களும் உள்ளன. பெரும்பாலும், நான் Xilinx தயாரிப்புகளுடன் பணிபுரிந்தேன், எனவே அவர் தொடர்ந்து கட்டுரையில் குறிப்பிடப்படுவதைக் கண்டு ஆச்சரியப்பட வேண்டாம்.

FPGAக்கள் பல்வேறு துறைகளில் பரவலாகப் பயன்படுத்தப்படுகின்றன: நுகர்வோர் மின்னணுவியல், தொலைத்தொடர்பு உபகரணங்கள், தரவு மையங்களில் பயன்படுத்துவதற்கான முடுக்கி பலகைகள், ரோபாட்டிக்ஸ், ASIC முன்மாதிரி. கீழே ஓரிரு உதாரணங்களைச் சொல்கிறேன்.

வன்பொருள் மறுகட்டமைப்பை வழங்கும் தொழில்நுட்பத்தையும் நாங்கள் பார்ப்போம், வடிவமைப்பு செயல்முறையைப் பற்றி அறிந்துகொள்வோம் மற்றும் வெரிலாக் மொழியில் வன்பொருள் கவுண்டரை செயல்படுத்துவதற்கான எளிய உதாரணத்தை பகுப்பாய்வு செய்வோம். உங்களிடம் ஏதேனும் FPGA பிழைத்திருத்த பலகை இருந்தால், இதை நீங்களே நகலெடுக்க முடியும். போர்டு இல்லை என்றால், உங்கள் கணினியில் சர்க்யூட்டின் செயல்பாட்டை உருவகப்படுத்துவதன் மூலம் வெரிலாக் உடன் நீங்கள் இன்னும் பழகலாம்.

ஒரு FPGA எப்படி வேலை செய்கிறது

FPGA சிப் என்பது அதே தனிப்பயன் ASIC சிப் ஆகும், இது ஃபிளிப்-ஃப்ளாப்ஸ், ரெஜிஸ்டர்கள், மல்டிபிளெக்சர்கள் மற்றும் வழக்கமான சர்க்யூட்டுகளுக்கான பிற லாஜிக் கூறுகளை இணைக்கப் பயன்படும் அதே டிரான்சிஸ்டர்களைக் கொண்டுள்ளது. நிச்சயமாக, இந்த டிரான்சிஸ்டர்களின் இணைப்பு வரிசையை மாற்றுவது சாத்தியமில்லை. ஆனால் கட்டடக்கலை ரீதியாக, மைக்ரோ சர்க்யூட் மிகவும் தந்திரமான முறையில் கட்டப்பட்டுள்ளது, இது பெரிய தொகுதிகளுக்கு இடையில் சிக்னல்களை மாற்றுவதை நீங்கள் மாற்றலாம்: அவை CLB கள் என்று அழைக்கப்படுகின்றன - நிரல்படுத்தக்கூடிய லாஜிக் தொகுதிகள்.

CLB செய்யும் லாஜிக் செயல்பாட்டையும் நீங்கள் மாற்றலாம். முழு சிப்பும் உள்ளமைவு நினைவக செல்கள் நிலையான ரேம் மூலம் ஊடுருவி இருப்பதால் இது அடையப்படுகிறது. இந்த நினைவகத்தின் ஒவ்வொரு பிட்டும் சில வகையான சிக்னல் மாறுதல் விசையை கட்டுப்படுத்துகிறது அல்லது CLB செயல்படுத்தும் தருக்க செயல்பாட்டின் உண்மை அட்டவணையின் ஒரு பகுதியாகும்.

கட்டமைப்பு நினைவகம் நிலையான ரேம் தொழில்நுட்பத்தைப் பயன்படுத்தி கட்டமைக்கப்படுவதால், முதலில், FPGA இயக்கப்படும்போது, ​​மைக்ரோ சர்க்யூட் கட்டமைக்கப்பட வேண்டும், இரண்டாவதாக, மைக்ரோ சர்க்யூட்டை கிட்டத்தட்ட எண்ணற்ற முறை மறுகட்டமைக்க முடியும்.

உள்ளமைவு நினைவகம் இல்லாமல் மிகவும் எளிமைப்படுத்தப்பட்ட 2D சிப் அமைப்பு

CLBகள் CLBகளின் உள்ளீடுகள் மற்றும் வெளியீடுகளுக்கான இணைப்புகளை வரையறுக்கும் மாறுதல் மேட்ரிக்ஸில் வசிக்கின்றன.

மேட்ரிக்ஸ் வரைபடம் மாறுகிறது

கடத்திகளின் ஒவ்வொரு சந்திப்பிலும் ஆறு மாறுதல் விசைகள் அவற்றின் சொந்த கட்டமைப்பு நினைவக செல்களால் கட்டுப்படுத்தப்படுகின்றன. சிலவற்றைத் திறந்து மற்றவற்றை மூடுவதன் மூலம், CLB களுக்கு இடையில் வெவ்வேறு சிக்னல்களை மாற்றுவது சாத்தியமாகும்.

CLB

CLB ஆனது பல வாதங்களின் பூலியன் செயல்பாட்டை வரையறுக்கும் ஒரு தொகுதியைக் கொண்டுள்ளது (இது ஒரு தேடல் அட்டவணை - லுக் அப் டேபிள், LUT) மற்றும் ஒரு தூண்டுதல் (ஃபிளிப்-ஃப்ளாப், எஃப்எஃப்). நவீன FPGAகளில், LUT ஆறு உள்ளீடுகளைக் கொண்டுள்ளது, ஆனால் படம் எளிமைக்காக மூன்றைக் காட்டுகிறது. LUT வெளியீடு CLB வெளியீட்டிற்கு ஒத்திசைவற்ற முறையில் (நேரடியாக) அல்லது ஒத்திசைவாக (கணினி கடிகாரத்தில் இயங்கும் FF ஃபிளிப்-ஃப்ளாப் வழியாக) வழங்கப்படுகிறது.

LUT அமலாக்கக் கொள்கை

LUT செயல்படுத்தலின் கொள்கையைப் பார்ப்பது சுவாரஸ்யமானது. சில பூலியன் செயல்பாடு y = (a & b) | உள்ளது என்று வைத்துக் கொள்வோம் ~c. அதன் திட்டவட்டமான பிரதிநிதித்துவம் மற்றும் உண்மை அட்டவணை படத்தில் காட்டப்பட்டுள்ளது. செயல்பாடு மூன்று வாதங்களைக் கொண்டுள்ளது, எனவே இது 2^3 = 8 மதிப்புகளை எடுக்கும். அவை ஒவ்வொன்றும் அதன் சொந்த உள்ளீட்டு சமிக்ஞைகளின் கலவையை ஒத்திருக்கின்றன. இந்த மதிப்புகள் FPGA ஃபார்ம்வேர் மேம்பாட்டு நிரலால் கணக்கிடப்பட்டு சிறப்பு உள்ளமைவு நினைவக செல்களுக்கு எழுதப்படுகின்றன.

ஒவ்வொரு கலத்தின் மதிப்பும் அதன் LUT வெளியீட்டு மல்டிபிளெக்சரின் உள்ளீட்டிற்கு அளிக்கப்படுகிறது, மேலும் பூலியன் செயல்பாட்டின் உள்ளீட்டு வாதங்கள் ஒன்று அல்லது மற்றொரு செயல்பாட்டு மதிப்பைத் தேர்ந்தெடுக்கப் பயன்படுத்தப்படுகின்றன. CLB மிக முக்கியமான FPGA வன்பொருள் வளமாகும். நவீன FPGA சில்லுகளில் CLB இன் அளவு மாறுபடும் மற்றும் சிப்பின் வகை மற்றும் திறனைப் பொறுத்தது. Xilinx ஆனது நான்காயிரம் முதல் மூன்று மில்லியன் வரை CLB படிகங்களைக் கொண்டுள்ளது.

CLBக்கு கூடுதலாக, FPGA க்குள் பல முக்கியமான வன்பொருள் வளங்கள் உள்ளன. எடுத்துக்காட்டாக, வன்பொருள் பெருக்கல்-திரட்சித் தொகுதிகள் அல்லது DSP தொகுதிகள். அவை ஒவ்வொன்றும் ஒவ்வொரு சுழற்சியிலும் 18-பிட் எண்களை பெருக்கி கூட்டல் செய்யலாம். உயர்நிலை படிகங்களில், DSP தொகுதிகளின் எண்ணிக்கை 6000ஐ தாண்டலாம்.

மற்றொரு ஆதாரம் தொகுதிகள் உள் நினைவகம்(பிளாக் ரேம், BRAM). ஒவ்வொரு தொகுதியும் 2 KB சேமிக்க முடியும். அத்தகைய நினைவகத்தின் மொத்த திறன், படிகத்தைப் பொறுத்து, 20 KB முதல் 20 MB வரை அடையலாம். CLBகளைப் போலவே, BRAM மற்றும் DSP தொகுதிகள் மாறுதல் மேட்ரிக்ஸால் இணைக்கப்பட்டு முழு சிப்பிலும் ஊடுருவுகின்றன. CLB, DSP மற்றும் BRAM தொகுதிகளை இணைப்பதன் மூலம், மிகவும் திறமையான தரவு செயலாக்க திட்டங்களைப் பெறலாம்.

FPGA களின் நன்மைகள்

1985 இல் Xilinx உருவாக்கிய முதல் FPGA சிப்பில் 64 CLBகள் மட்டுமே இருந்தன. அந்த நேரத்தில், சில்லுகளில் டிரான்சிஸ்டர்களின் ஒருங்கிணைப்பு இப்போது இருப்பதை விட மிகவும் குறைவாக இருந்தது, மேலும் டிஜிட்டல் சாதனங்களில் "தளர்வான லாஜிக்" சில்லுகள் பெரும்பாலும் பயன்படுத்தப்பட்டன. பதிவேடுகள், கவுண்டர்கள், மல்டிபிளெக்சர்கள், மல்டிபிளயர்ஸ் என தனித்தனி சிப்கள் இருந்தன. கீழ் குறிப்பிட்ட சாதனம்அச்சிடப்பட்ட சர்க்யூட் போர்டு உருவாக்கப்பட்டது, அதில் இந்த குறைந்த ஒருங்கிணைப்பு மைக்ரோ சர்க்யூட்கள் நிறுவப்பட்டன.

FPGA இன் பயன்பாடு இந்த அணுகுமுறையை கைவிடுவதை சாத்தியமாக்கியது. 64 CLB FPGA கூட அச்சிடப்பட்ட சர்க்யூட் போர்டில் இடத்தை மிச்சப்படுத்துகிறது, மேலும் மறுசீரமைப்பின் கிடைக்கும் தன்மை, செயல்பாட்டின் போது உற்பத்தி செய்த பிறகு சாதனங்களின் செயல்பாட்டை புதுப்பிக்கும் திறனைச் சேர்த்தது, அவர்கள் "புலத்தில்" (எனவே பெயர் - புலத்தில் நிரல்படுத்தக்கூடிய கேட் வரிசை )

FPGA க்குள் எந்த வன்பொருள் டிஜிட்டல் சர்க்யூட்டையும் உருவாக்க முடியும் என்ற உண்மையின் காரணமாக (முக்கிய விஷயம் போதுமான ஆதாரங்கள் உள்ளன), FPGA களின் முக்கியமான பயன்பாடுகளில் ஒன்று ASIC சில்லுகளின் முன்மாதிரி ஆகும்.

ASIC மேம்பாடு மிகவும் சிக்கலானது மற்றும் விலை உயர்ந்தது, பிழையின் விலை மிகவும் அதிகமாக உள்ளது, மேலும் தர்க்கத்தை சோதிப்பதில் சிக்கல் முக்கியமானது. எனவே, வளர்ச்சியின் நிலைகளில் ஒன்று, சுற்றுகளின் இயற்பியல் இடவியல் வேலை தொடங்குவதற்கு முன்பே, ஒன்று அல்லது அதற்கு மேற்பட்ட FPGA சில்லுகளில் அதன் முன்மாதிரி ஆகும்.

ASIC மேம்பாட்டிற்காக, பல ஒன்றோடொன்று இணைக்கப்பட்ட FPGA களைக் கொண்ட சிறப்பு பலகைகள் வெளியிடப்படுகின்றன. மைக்ரோசிப் முன்மாதிரி மிகவும் குறைந்த அதிர்வெண்களில் (பத்து மெகாஹெர்ட்ஸ் இருக்கலாம்), ஆனால் சிக்கல்கள் மற்றும் பிழைகளைக் கண்டறிவதில் பணத்தைச் சேமிக்கிறது.

இருப்பினும், என் கருத்துப்படி, FPGA களின் சுவாரஸ்யமான பயன்பாடுகள் உள்ளன. FPGA இன் நெகிழ்வான அமைப்பு, அல்காரிதத்தை மாற்றும் திறனுடன் அதிவேக மற்றும் இணையான தரவு செயலாக்கத்திற்கான வன்பொருள் சுற்றுகளை செயல்படுத்த உங்களை அனுமதிக்கிறது.


வன்பொருள் தளங்களின் ஒப்பீடு

CPU, GPU, FPGA மற்றும் ASIC ஆகியவற்றுக்கு இடையேயான அடிப்படை வேறுபாட்டைப் பற்றி சிந்திக்கலாம். CPU உலகளாவியது, நீங்கள் அதில் எந்த அல்காரிதத்தையும் இயக்கலாம், இது மிகவும் நெகிழ்வானது, மேலும் ஏராளமான நிரலாக்க மொழிகள் மற்றும் மேம்பாட்டு சூழல்கள் காரணமாக இது பயன்படுத்த எளிதானது.

அதே நேரத்தில், CPU அறிவுறுத்தல்களின் பல்துறை மற்றும் தொடர்ச்சியான செயல்பாட்டின் காரணமாக, செயல்திறன் குறைகிறது மற்றும் சுற்று மின் நுகர்வு அதிகரிக்கிறது. ஒவ்வொரு பயனுள்ள எண்கணிதச் செயல்பாட்டிற்கும், CPU ஆனது வழிமுறைகளைப் படிப்பது, பதிவேடுகள் மற்றும் தற்காலிக சேமிப்பிற்கு இடையில் தரவை நகர்த்துவது மற்றும் பிற சைகைகள் தொடர்பான பல கூடுதல் செயல்பாடுகளைச் செய்கிறது.

மறுபுறம் ASIC உள்ளது. இந்த மேடையில், டிரான்சிஸ்டர்களின் நேரடி இணைப்பு காரணமாக வன்பொருளில் தேவையான அல்காரிதம் செயல்படுத்தப்படுகிறது, அனைத்து செயல்பாடுகளும் அல்காரிதத்தின் செயல்பாட்டிற்கு மட்டுமே தொடர்புடையது மற்றும் அதை மாற்ற எந்த வழியும் இல்லை. எனவே மேடையின் அதிகபட்ச செயல்திறன் மற்றும் குறைந்த மின் நுகர்வு. ஆனால் ASIC ஐ மறுபிரசுரம் செய்வது சாத்தியமில்லை.

CPU இன் வலதுபுறம் GPU உள்ளது. ஆரம்பத்தில், இந்த சில்லுகள் கிராபிக்ஸ் செயலாக்கத்திற்காக வடிவமைக்கப்பட்டுள்ளன, ஆனால் இப்போது அவை கணக்கீட்டு சுரங்கத்திற்கும் பயன்படுத்தப்படுகின்றன. பொது நோக்கம். அவை ஆயிரக்கணக்கான சிறிய கம்ப்யூட்டிங் கோர்களைக் கொண்டிருக்கின்றன மற்றும் தரவுகளின் வரிசையில் இணையான செயல்பாடுகளைச் செய்கின்றன.

அல்காரிதத்தை இணையாக மாற்ற முடிந்தால், CPU உடன் ஒப்பிடும்போது GPU இல் குறிப்பிடத்தக்க முடுக்கத்தை அடைய முடியும். மறுபுறம், தொடர் வழிமுறைகள் மோசமாக செயல்படுத்தப்படும், எனவே இயங்குதளம் CPU ஐ விட குறைவான நெகிழ்வுத்தன்மை கொண்டது. மேலும், GPU மேம்பாட்டிற்கு, நீங்கள் சிறப்புத் திறன்களைக் கொண்டிருக்க வேண்டும், OpenCL அல்லது CUDA பற்றி அறிந்திருக்க வேண்டும்.

இறுதியாக, FPGA. இந்த இயங்குதளமானது ASIC களின் செயல்திறனை நிரலை மாற்றும் திறனுடன் ஒருங்கிணைக்கிறது. FPGAகள் உலகளாவியவை அல்ல, ஆனால் CPUகள் மற்றும் GPUகளை விட சிறந்த செயல்திறனைக் காட்டும் அல்காரிதம்கள் மற்றும் பணிகளின் வகுப்பு உள்ளது. FPGA க்கான வளர்ச்சியின் சிக்கலானது அதிகமாக உள்ளது, ஆனால் புதிய மேம்பாட்டு கருவிகள் இந்த இடைவெளியை குறைக்கின்றன.

FPGA இன் தீர்க்கமான நன்மை என்னவென்றால், குறைந்தபட்ச மறுமொழி தாமதத்துடன் அவற்றின் வருகையின் விகிதத்தில் தரவை செயலாக்கும் திறன் ஆகும். உதாரணமாக, அதிக எண்ணிக்கையிலான போர்ட்களைக் கொண்ட ஸ்மார்ட் நெட்வொர்க் ரூட்டரை கற்பனை செய்து பாருங்கள்: ஈத்தர்நெட் பாக்கெட் அதன் போர்ட்களில் ஒன்றில் வரும்போது, ​​வெளியீட்டு போர்ட்டைத் தேர்ந்தெடுக்கும் முன் பல விதிகளைச் சரிபார்க்க வேண்டும். தொகுப்பில் உள்ள சில புலங்களை நீங்கள் மாற்ற வேண்டும் அல்லது புதியவற்றைச் சேர்க்க வேண்டும்.

FPGA ஐப் பயன்படுத்துவது இந்த சிக்கலை உடனடியாக தீர்க்க உங்களை அனுமதிக்கிறது: பாக்கெட்டின் பைட்டுகள் பிணைய இடைமுகத்திலிருந்து மைக்ரோ சர்க்யூட்டில் வரத் தொடங்கியுள்ளன, மேலும் அதன் தலைப்பு ஏற்கனவே பகுப்பாய்வு செய்யப்படுகிறது. இங்கே செயலிகளைப் பயன்படுத்துவது நெட்வொர்க் போக்குவரத்தை செயலாக்கும் வேகத்தை கணிசமாகக் குறைக்கும். ரவுட்டர்களுக்கான தனிப்பயன் ASIC சிப்பை நீங்கள் உருவாக்க முடியும் என்பது தெளிவாகிறது, அது மிகவும் திறமையாக வேலை செய்யும், ஆனால் பாக்கெட்டுகளை செயலாக்குவதற்கான விதிகள் மாற வேண்டுமானால் என்ன செய்வது? FPGA மட்டுமே அதிக செயல்திறனுடன் தேவையான நெகிழ்வுத்தன்மையை அடைய உதவும்.

எனவே, அதிக செயலாக்க செயல்திறன், வேகமான மறுமொழி நேரம் மற்றும் குறைந்த மின் நுகர்வு தேவைப்படும் இடங்களில் FPGAகள் பயன்படுத்தப்படுகின்றன.

மேகக்கணியில் FPGA

கிளவுட் கம்ப்யூட்டிங்கில், FPGAகள் வேகமாக எண்ணுதல், நெட்வொர்க் ட்ராஃபிக் முடுக்கம் மற்றும் தரவு வரிசைகளுக்கான அணுகலுக்குப் பயன்படுத்தப்படுகின்றன. பரிமாற்றங்களில் அதிக அதிர்வெண் வர்த்தகத்திற்கு FPGA ஐப் பயன்படுத்துவதும் இதில் அடங்கும். FPGA பலகைகள் சேவையகங்களில் செருகப்படுகின்றன பிசிஐ எக்ஸ்பிரஸ்மற்றும் Intel (Altera) அல்லது Xilinx ஆல் தயாரிக்கப்பட்ட ஆப்டிகல் நெட்வொர்க் இடைமுகம்.

கிரிப்டோகிராஃபிக் அல்காரிதம்கள், டிஎன்ஏ வரிசை ஒப்பீடு மற்றும் மூலக்கூறு இயக்கவியல் போன்ற அறிவியல் பணிகளுக்கு FPGAகள் சிறந்தவை. மைக்ரோசாப்ட் நீண்ட காலமாக எஃப்பிஜிஏக்களை பிங் தேடல் சேவையை விரைவுபடுத்தவும், அஸூர் கிளவுட்க்குள் மென்பொருள் வரையறுக்கப்பட்ட நெட்வொர்க்கை ஒழுங்கமைக்கவும் பயன்படுத்துகிறது.

இயந்திர கற்றல் ஏற்றம் FPGA ஐயும் கடந்து செல்லவில்லை. Xilinx மற்றும் Intel ஆகியவை ஆழமான நரம்பியல் நெட்வொர்க்குகளுடன் பணிபுரிய FPGA அடிப்படையிலான கருவிகளை வழங்குகின்றன. Caffe மற்றும் TensorFlow போன்ற கட்டமைப்பிலிருந்து ஒரு குறிப்பிட்ட நெட்வொர்க்கை நேரடியாக செயல்படுத்தும் FPGA ஃபார்ம்வேரைப் பெற அவை உங்களை அனுமதிக்கின்றன.

மேலும், உங்கள் வீட்டை விட்டு வெளியேறாமல் கிளவுட் சேவைகளைப் பயன்படுத்தாமல் இதையெல்லாம் முயற்சி செய்யலாம். எடுத்துக்காட்டாக, அமேசானில் நீங்கள் வாடகைக்கு விடலாம் மெய்நிகர் இயந்திரம் FPGA போர்டுக்கான அணுகல் மற்றும் இயந்திர கற்றல் உட்பட எந்த மேம்பாட்டுக் கருவிகளும்.

விளிம்பில் FPGA

FPGA இல் வேறு என்ன செய்வது சுவாரஸ்யமானது? அவர்கள் ஏன் அதை செய்யக்கூடாது! ரோபாட்டிக்ஸ், ஆளில்லா வாகனங்கள், ட்ரோன்கள், அறிவியல் கருவிகள், மருத்துவ உபகரணங்கள், வழக்கம் மொபைல் சாதனங்கள், ஸ்மார்ட் பாதுகாப்பு கேமராக்கள் மற்றும் பல.

பாரம்பரியமாக, ரேடார் சாதனங்கள், ரேடியோ சிக்னல் டிரான்ஸ்ஸீவர்களில் ஒரு பரிமாண சமிக்ஞைகளின் (மற்றும் டிஎஸ்பி செயலிகளுடன் போட்டியிட்டது) டிஜிட்டல் செயலாக்கத்திற்கு FPGAகள் பயன்படுத்தப்பட்டன. சில்லுகளின் ஒருங்கிணைப்பு மற்றும் அதிகரித்த செயல்திறன் ஆகியவற்றுடன், FPGA இயங்குதளங்கள் அதிக செயல்திறன் கொண்ட கம்ப்யூட்டிங்கிற்கு அதிகளவில் பயன்படுத்தப்படுகின்றன, எடுத்துக்காட்டாக, "மேகத்தின் விளிம்பில்" (எட்ஜ் கம்ப்யூட்டிங்) இரு பரிமாண சமிக்ஞைகளை செயலாக்குவதற்கு.

உரிமத் தகடு அங்கீகாரத்துடன் கூடிய போக்குவரத்து பகுப்பாய்வு கேமராவின் உதாரணத்தைப் பயன்படுத்தி இந்தக் கருத்தை மிக எளிதாகப் புரிந்து கொள்ள முடியும். ஈத்தர்நெட் வழியாக வீடியோவை அனுப்பும் திறன் கொண்ட கேமராவை நீங்கள் எடுக்கலாம் மற்றும் ரிமோட் சர்வரில் ஸ்ட்ரீமை செயலாக்கலாம். கேமராக்களின் எண்ணிக்கை அதிகரிக்கும் போது, ​​நெட்வொர்க்கில் சுமை அதிகரிக்கும், இது கணினி தோல்விகளுக்கு வழிவகுக்கும்.

அதற்கு பதிலாக, வீடியோ கேமராவின் உடலில் நேரடியாக நிறுவப்பட்ட கால்குலேட்டரில் உரிமத் தகடு அங்கீகாரத்தை செயல்படுத்துவது மற்றும் உரை வடிவத்தில் உரிமத் தகடுகளை மேகக்கணிக்கு மாற்றுவது நல்லது. இதைச் செய்ய, நீங்கள் பேட்டரி மூலம் பெற ஒப்பீட்டளவில் மலிவான குறைந்த-சக்தி FPGA களை எடுத்துக் கொள்ளலாம். அதே நேரத்தில், FPGA இன் தர்க்கத்தை மாற்றுவது சாத்தியமாகும், எடுத்துக்காட்டாக, உரிமத் தகடுகளுக்கான தரத்தை மாற்றும்போது.

ரோபாட்டிக்ஸ் மற்றும் ட்ரோன்களைப் பொறுத்தவரை, இந்த பகுதியில் இரண்டு நிபந்தனைகளை நிறைவேற்றுவது மிகவும் முக்கியம் - அதிக செயல்திறன் மற்றும் குறைந்த மின் நுகர்வு. FPGA இயங்குதளம் சரியாக பொருந்துகிறது மற்றும் குறிப்பாக, ட்ரோன்களுக்கான விமானக் கட்டுப்பாட்டாளர்களை உருவாக்கப் பயன்படுத்தலாம். விமானத்தில் முடிவெடுக்கக்கூடிய யுஏவிகள் ஏற்கனவே தயாரிக்கப்பட்டு வருகின்றன.

FPGA திட்ட வளர்ச்சி

வடிவமைப்பு பல்வேறு நிலைகள் உள்ளன: குறைந்த, தொகுதி மற்றும் உயர். குறைந்த நிலை என்பது Verilog அல்லது VHDL போன்ற மொழிகளைப் பயன்படுத்துவதை உள்ளடக்கியது, அங்கு நீங்கள் பதிவு பரிமாற்ற மட்டத்தில் (RTL) வளர்ச்சியைக் கட்டுப்படுத்துகிறீர்கள். இந்த வழக்கில், நீங்கள் ஒரு செயலியைப் போல பதிவேடுகளை உருவாக்குகிறீர்கள், மேலும் அவற்றுக்கிடையேயான தரவை மாற்றும் தர்க்க செயல்பாடுகளை வரையறுக்கிறீர்கள்.

FPGA சுற்றுகள் எப்பொழுதும் குறிப்பிட்ட கடிகார வேகத்தில் (பொதுவாக 100-300 MHz) இயங்கும், மேலும் RTL அளவில், நீங்கள் ஒரு கணினி கடிகார கடிகாரத்திற்குள் சுற்றுகளின் நடத்தையை வரையறுக்கிறீர்கள். இந்த கடினமான வேலை செயல்திறன், FPGA டை வள நுகர்வு மற்றும் மின் நுகர்வு ஆகியவற்றின் அடிப்படையில் மிகவும் திறமையான சுற்றுகளில் விளைகிறது. ஆனால் இங்கே சுற்றுவட்டத்தில் தீவிர திறன்கள் தேவைப்படுகின்றன, மேலும் செயல்முறை அவர்களுடன் வேகமாக இல்லை.

பிளாக் மட்டத்தில், உங்களுக்குத் தேவையான சிஸ்டம்-ஆன்-சிப்பின் (சிஸ்டம்-ஆன்-சிப்) செயல்பாட்டைப் பெற சில செயல்பாடுகளைச் செய்யும் ஆயத்த பெரிய தொகுதிகளை நீங்கள் அடிப்படையில் இணைக்கிறீர்கள்.

வடிவமைப்பின் உயர் மட்டத்தில், ஒவ்வொரு கடிகாரச் சுழற்சியிலும் நீங்கள் இனி தரவின் கட்டுப்பாட்டில் இருக்க மாட்டீர்கள், அதற்கு பதிலாக நீங்கள் அல்காரிதத்தில் கவனம் செலுத்துவீர்கள். விவாடோ எச்எல்எஸ் போன்ற சி மற்றும் சி++ இலிருந்து ஆர்டிஎல் நிலை வரை கம்பைலர்கள் அல்லது மொழிபெயர்ப்பாளர்கள் உள்ளனர். இது மிகவும் புத்திசாலித்தனமானது மற்றும் வன்பொருள் நிலைக்கு பரந்த அளவிலான அல்காரிதம்களை மொழிபெயர்க்க உங்களை அனுமதிக்கிறது.

RTL மொழிகளில் இந்த அணுகுமுறையின் முக்கிய நன்மை வளர்ச்சியின் வேகம் மற்றும் குறிப்பாக அல்காரிதம் சோதனை: C++ குறியீட்டை கணினியில் இயக்கலாம் மற்றும் சரிபார்க்கலாம், மேலும் இது RTL மட்டத்தில் அல்காரிதம் மாற்றங்களைச் சோதிப்பதை விட மிக வேகமாக இருக்கும். நிச்சயமாக, நீங்கள் வசதிக்காக பணம் செலுத்த வேண்டும் - சுற்று அவ்வளவு வேகமாக இல்லை மற்றும் அதிக வன்பொருள் வளங்களை எடுத்துக் கொள்ளலாம்.

பெரும்பாலும் இந்த விலையைச் செலுத்த நாங்கள் தயாராக இருக்கிறோம்: நீங்கள் மொழிபெயர்ப்பாளரைச் சரியாகப் பயன்படுத்தினால், செயல்திறன் அதிகம் பாதிக்கப்படாது, மேலும் நவீன FPGA களில் போதுமான ஆதாரங்கள் உள்ளன. சந்தைக் குறிகாட்டிக்கு முக்கியமான நேரத்தைக் கொண்ட நமது உலகில், இது நியாயமானதாக மாறிவிடும்.

பெரும்பாலும் மூன்று வளர்ச்சி பாணிகளும் ஒரே வடிவமைப்பில் இணைக்கப்பட வேண்டும். நாம் ஒரு ரோபோவை உருவாக்கக்கூடிய ஒரு சாதனத்தை உருவாக்க வேண்டும் மற்றும் வீடியோ ஸ்ட்ரீமில் உள்ள பொருட்களை அடையாளம் காணும் திறனை கொடுக்க வேண்டும் - உதாரணமாக, சாலை அடையாளங்கள். வீடியோ சென்சார் சிப்பை எடுத்து அதை நேரடியாக FPGA உடன் இணைப்போம். பிழைத்திருத்தத்திற்கு நாம் பயன்படுத்தலாம் HDMI மானிட்டர், FPGA உடன் இணைக்கப்பட்டுள்ளது.

சென்சார் உற்பத்தியாளரால் முன்னரே தீர்மானிக்கப்பட்ட இடைமுகம் வழியாக கேமராவில் இருந்து ஃப்ரேம்கள் FPGA க்கு மாற்றப்படும் (USB இங்கு வேலை செய்யாது), செயலாக்கப்பட்டு மானிட்டரில் காட்டப்படும். பிரேம்களை செயலாக்க, உங்களுக்கு ஒரு ஃப்ரேம்பஃபர் தேவை, இது பொதுவாக வெளிப்புறத்தில் அமைந்துள்ளது டிடிஆர் நினைவகம் FPGA சிப்பிற்கு அடுத்துள்ள PCB இல் நிறுவப்பட்டது.


வழக்கமான FPGA வடிவமைப்பு தொகுதி வரைபடம்

வீடியோ சென்சார் உற்பத்தியாளர் எங்கள் FPGA சிப்பிற்கான இடைமுக ஐபியை வழங்கவில்லை என்றால், தரவு பரிமாற்ற நெறிமுறை விவரக்குறிப்புக்கு ஏற்ப கடிகாரங்கள், பிட்கள் மற்றும் பைட்டுகளை எண்ணி, அதை RTL மொழியில் எழுத வேண்டும். முன்செயலாக்கம், டிடிஆர் கன்ட்ரோலர் மற்றும் எச்டிஎம்ஐ ஐபி பிளாக்குகள், நாங்கள் பெரும்பாலும் தயாராக உள்ளவற்றை எடுத்து அவற்றின் இடைமுகங்களை இணைப்போம். மற்றும் உள்வரும் தரவுகளின் தேடல் மற்றும் செயலாக்கத்தை செய்யும் HLS தொகுதி, நாம் C ++ இல் எழுதலாம் மற்றும் Vivado HLS ஐப் பயன்படுத்தி ஒளிபரப்பலாம்.

பெரும்பாலும், எங்களுக்கு இன்னும் சில வகையான ஆயத்த ட்ராஃபிக் சைன் டிடெக்டர் மற்றும் வகைப்படுத்தி நூலகம் தேவை, இது FPGA இல் பயன்படுத்துவதற்கு ஏற்றது. இந்த எடுத்துக்காட்டில், நிச்சயமாக, நான் மிகவும் எளிமைப்படுத்தப்பட்ட வடிவமைப்பு பாய்வு விளக்கப்படத்தை தருகிறேன், ஆனால் அது வேலையின் தர்க்கத்தை சரியாக பிரதிபலிக்கிறது.

RTL குறியீட்டை எழுதுவது முதல் FPGA இல் ஏற்றுவதற்கான உள்ளமைவு கோப்பைப் பெறுவது வரையிலான வடிவமைப்பு பாதையைக் கவனியுங்கள்.

வடிவமைப்பு பாதை

எனவே, உங்களுக்குத் தேவையான திட்டத்தைச் செயல்படுத்தும் RTL குறியீட்டை எழுதுகிறீர்கள். உண்மையான வன்பொருளில் சோதனை செய்வதற்கு முன், அது சரியானது மற்றும் தேவையான சிக்கலை சரியாக தீர்க்கிறது என்பதை உறுதிப்படுத்த வேண்டும். இதற்காக, கணினியில் சிமுலேட்டரில் ஆர்டிஎல் மாடலிங் பயன்படுத்தப்படுகிறது.

இதுவரை RTL குறியீட்டில் மட்டுமே குறிப்பிடப்பட்ட உங்கள் சர்க்யூட்டை எடுத்து, அதை ஒரு மெய்நிகர் பெஞ்சில் வைத்து, அங்கு டிஜிட்டல் சிக்னல்களை சர்க்யூட் உள்ளீடுகளுக்குப் பயன்படுத்துகிறீர்கள், வெளியீட்டு வரைபடங்களைப் பதிவு செய்கிறீர்கள், வெளியீட்டு சமிக்ஞைகளின் நேரத்தைச் சார்ந்திருப்பீர்கள் மற்றும் எதிர்பார்த்த முடிவுகளுடன் ஒப்பிடுங்கள். . வழக்கமாக நீங்கள் பிழைகளைக் கண்டறிந்து RTL எழுதுவதற்குத் திரும்புவீர்கள்.

மேலும், தர்க்கரீதியாக சரிபார்க்கப்பட்ட குறியீடு சின்தசைசர் நிரலின் உள்ளீட்டிற்கு அளிக்கப்படுகிறது. கொடுக்கப்பட்ட FPGA சிப்பிற்கு கிடைக்கும் நூலகத்திலிருந்து டிஜிட்டல் கூறுகளின் இணைக்கப்பட்ட பட்டியலாக இது சர்க்யூட்டின் உரை விளக்கத்தை மாற்றுகிறது. இந்தப் பட்டியல் LUTகள், தூண்டுதல்கள் மற்றும் அவற்றுக்கிடையேயான இணைப்புகள் போன்ற கூறுகளைக் காண்பிக்கும். இந்த கட்டத்தில், உறுப்புகள் இன்னும் குறிப்பிட்ட வன்பொருள் ஆதாரங்களுடன் இணைக்கப்படவில்லை. இதைச் செய்ய, நீங்கள் சுற்று மீது கட்டுப்பாடுகளை (கட்டுப்பாடுகள்) விதிக்க வேண்டும் - குறிப்பாக, FPGA சிப்பின் எந்த இயற்பியல் I / O பின்கள் உங்கள் சர்க்யூட்டின் தருக்க உள்ளீடுகள் மற்றும் வெளியீடுகளுடன் இணைக்கப்பட்டுள்ளன என்பதைக் குறிப்பிடவும்.

இந்த கட்டுப்பாடுகள் எந்த கடிகார வேகத்தில் சுற்று செயல்பட வேண்டும் என்பதைக் குறிப்பிட வேண்டும். சின்தசைசரின் வெளியீடு மற்றும் கட்டுப்பாடு கோப்பு ஆகியவை செயல்படுத்தல் செயலிக்கு வழங்கப்படுகின்றன, இது மற்றவற்றுடன் இடம் மற்றும் வழியைக் கையாளுகிறது.

ப்ளேஸ் செயல்முறையானது, நெட்லிஸ்ட்டில் இருந்து, FPGA சிப்பில் உள்ள ஒரு குறிப்பிட்ட உறுப்புடன் இன்னும் ஆள்மாறான உறுப்புகளை இணைக்கிறது. அடுத்து, ரூட் செயல்முறை வேலை செய்யத் தொடங்குகிறது, இது FPGA மாறுதல் மேட்ரிக்ஸின் தொடர்புடைய உள்ளமைவுக்கு இந்த உறுப்புகளின் உகந்த இணைப்பைக் கண்டறிய முயற்சிக்கிறது.

இடம் மற்றும் பாதை ஆகியவை சுற்றுக்கு நாம் விதித்துள்ள கட்டுப்பாடுகளின் அடிப்படையில் செயல்படுகின்றன: I/O பின்கள் மற்றும் கடிகார வேகம். கடிகார காலம் நடைமுறைப்படுத்துதலில் மிகவும் வலுவான விளைவைக் கொண்டுள்ளது: இது இரண்டு தொடர்ச்சியான ஃபிளிப்-ஃப்ளாப்புகளுக்கு இடையில் முக்கியமான சுற்றுகளில் உள்ள லாஜிக் கேட்களில் நேர தாமதத்தை விட குறைவாக இருக்கக்கூடாது.

பெரும்பாலும் இந்த தேவையை உடனடியாக பூர்த்தி செய்ய முடியாது, பின்னர் ஆரம்ப நிலைக்குத் திரும்பவும், RTL குறியீட்டை மாற்றவும் அவசியம்: உதாரணமாக, முக்கியமான சங்கிலியில் தர்க்கத்தை குறைக்க முயற்சிக்கவும். செயல்படுத்தல் வெற்றிகரமாக முடிந்த பிறகு, எந்தெந்த உறுப்புகள் எங்கே, எப்படி இணைக்கப்பட்டுள்ளன என்பதை நாம் அறிவோம்.

அதன் பிறகுதான் பைனரி FPGA ஃபார்ம்வேர் கோப்பை உருவாக்கும் செயல்முறை தொடங்குகிறது. அதை உண்மையான வன்பொருளில் ஏற்றி, எதிர்பார்த்தபடி செயல்படுகிறதா எனச் சரிபார்க்க வேண்டும். இந்த கட்டத்தில் சிக்கல்கள் ஏற்பட்டால், மாடலிங் முழுமையடையாதது மற்றும் இந்த கட்டத்தில் அனைத்து பிழைகள் மற்றும் குறைபாடுகள் அகற்றப்படவில்லை என்று அர்த்தம்.

நீங்கள் உருவகப்படுத்துதல் நிலைக்குத் திரும்பலாம் மற்றும் அசாதாரண சூழ்நிலையை உருவகப்படுத்தலாம், இது வேலை செய்யவில்லை என்றால், தீவிர நிகழ்வுகளில், ஒரு பிழைத்திருத்த பொறிமுறையானது இயங்கும் வன்பொருளில் நேரடியாக வழங்கப்படுகிறது. காலப்போக்கில் எந்த சிக்னல்களை நீங்கள் கண்காணிக்க விரும்புகிறீர்கள் என்பதை நீங்கள் குறிப்பிடலாம், மேலும் வளர்ச்சி சூழல் உங்கள் வடிவமைப்பு சுற்றுக்கு அடுத்துள்ள சிப்பில் வைக்கப்படும் கூடுதல் லாஜிக் அனலைசர் சர்க்யூட்டை உருவாக்கும், ஆர்வமுள்ள சிக்னல்களுடன் இணைக்கிறது மற்றும் காலப்போக்கில் அவற்றின் மதிப்புகளை சேமிக்கிறது. விரும்பிய சமிக்ஞைகளின் சேமிக்கப்பட்ட நேர வரைபடங்கள் கணினியில் பதிவிறக்கம் செய்யப்பட்டு பகுப்பாய்வு செய்யப்படலாம்.

FPGA திட்ட அமலாக்கம்

செயல்பாட்டு மாடலிங்கைப் பயன்படுத்தி லாஜிக் சர்க்யூட்டைச் செயல்படுத்திய பிறகு, அதை ஒரு சிப்பில் வைப்பது அவசியம். பின்னர், ஒரு சிப்பில் சர்க்யூட்டை வைத்த பிறகு பெறப்பட்ட உறுப்புகளின் உண்மையான தாமதங்களை கணக்கில் எடுத்துக்கொண்டு சுற்று உருவகப்படுத்தவும். தேவைப்பட்டால், விளைந்த தீர்வுகளை சரிசெய்யவும். அதன் பிறகு, சுற்று FPGA இல் ஏற்றப்பட்டு ஸ்டாண்டில் சோதிக்கப்படுகிறது.

அரிசி. 82. FPGA இல் டிஜிட்டல் சாதனத்தை வடிவமைக்கும் நிலைகள்

FPGA இல் வடிவமைப்பதற்கான முக்கிய நிலைகள் (விரிவுரைகளில் இருந்து):

    ஒரு சாதன வரைபடம் உருவாக்கப்பட்டு XILINX இல் உள்ளிடப்பட்டது.

    நடைமுறைப்படுத்தல் செய்யப்படுகிறது (மொழிபெயர்ப்பு, நூலக கூறுகளை பிரித்தெடுப்பதன் மூலம் சுற்று உருவாக்கம், தேர்வுமுறை, ஒரு சிப்பில் வைப்பது).

    நிரலாக்கம்.

  1. துணை நினைவகம். அமைப்பு, மாதிரி முறை, முகவரி நினைவகத்திலிருந்து வேறுபாடுகள்.

துணை அணுகல்சில பண்புக்கூறு மூலம் தகவலுக்கான தேடலை செயல்படுத்துகிறது, நினைவகத்தில் அதன் இருப்பிடம் (முகவரி அல்லது வரிசையில் இடம்) அல்ல. மிகவும் முழுமையான பதிப்பில், நினைவகத்தில் சேமிக்கப்பட்ட அனைத்து சொற்களும் ஒரே நேரத்தில் ஒரு அம்சத்துடன் இணக்கமாக சரிபார்க்கப்படுகின்றன, எடுத்துக்காட்டாக, உள்ளீட்டு வார்த்தையால் (குறிச்சொல் முகவரி) குறிப்பிடப்பட்ட அம்சத்துடன் சில சொற்களின் புலங்களை (குறிச்சொற்கள் - ஆங்கில வார்த்தை குறிச்சொல்லில் இருந்து) பொருத்துவதற்கு. . அவுட்புட் பண்புகளை திருப்திப்படுத்தும் வார்த்தைகள் கொடுக்கப்பட்டுள்ளது. சொற்களை வழங்குவதற்கான ஒழுக்கம், பல சொற்கள் குறிச்சொல்லை திருப்திப்படுத்தினால், அதே போல் புதிய தரவை எழுதும் ஒழுக்கமும் வேறுபட்டிருக்கலாம். நவீன கணினிகளில் அசோசியேட்டிவ் மெமரியின் பயன்பாட்டின் முக்கிய பகுதி தரவு கேச்சிங் ஆகும்.

அசோசியேட்டிவ் ஸ்டோரேஜ் சாதனங்களில், ஒவ்வொரு நினைவக கலத்திலும் பதிவுசெய்யப்பட்ட ஒரு துணை அம்சம் மூலம் தகவல் தேடப்படுகிறது.

முகமூடி பதிவேட்டில் ஒரு வார்த்தை எழுதப்பட்டுள்ளது, இது அனைத்து அல்லது சில இலக்கங்களுக்கு மட்டுமே துணை அம்சத்தின் வினவலை அனுமதிக்கிறது, முகமூடியின் பயன்பாடு தேடல் பகுதியைக் குறைக்க அல்லது விரிவாக்க உங்களை அனுமதிக்கிறது.

ஒவ்வொரு கலத்தின் துணை அம்சத்துடன் வினவலை ஒப்பிட்டு அனைத்து கலங்களுக்கும் இணையாக தகவல் தேடப்படுகிறது.

தேடல் முடிவு ஒரு சிறப்பு கூட்டு சுற்று மூலம் உருவாக்கப்படுகிறது, இது தேடல் நிலைமைகளை பூர்த்தி செய்யும் சொற்கள் இல்லாதது, ஒரே ஒரு வார்த்தையின் இருப்பு, அத்தகைய துணை அம்சத்துடன் பல சொற்களின் இருப்பு ஆகியவற்றைக் குறிக்கும் சமிக்ஞைகளை உருவாக்குகிறது.

எச்சரிக்கை சமிக்ஞைகளின் உருவாக்கம் மற்றும் செயலாக்கத்திற்குப் பிறகு, கட்டுப்பாட்டு சுற்று தேவையான தகவலைப் படிக்கிறது. எழுதும் போது, ​​ஒரு இலவச செல் பிஸியான பிட்டின் மதிப்பால் தேடப்படுகிறது, முதலில் கண்டுபிடிக்கப்பட்ட இலவச கலத்திற்கு தகவல் எழுதப்படுகிறது.

முகமூடியின் nவது பிட்டை (பிஸி பிட்) அமைப்பதன் மூலம் ஆக்கிரமிப்பு பிட் சரிபார்ப்பு செய்யப்படுகிறது. அசோசியேட்டிவ் மெமரியில் கூடுதல் சேர்க்கை சுற்றுகளைப் பயன்படுத்தும் போது, ​​நீங்கள் பல்வேறு தருக்க செயல்பாடுகளைச் செய்யலாம், அதிகபட்ச அல்லது குறைந்தபட்ச எண், ஒரே துணை அம்சத்தைக் கொண்ட சொற்களின் எண்ணிக்கை, முதலியவற்றைத் தீர்மானிக்கலாம். ஒரு துணை சேமிப்பக சாதனத்தின் நினைவக செல்கள் நிலையான நினைவகத்தின் கூறுகளாக இருக்க வேண்டும்; துணை நினைவகத்தில், அனைத்து கலங்களும் ஒரே நேரத்தில் அணுகப்படும் மற்றும் புதுப்பிப்பு சுழற்சிகளால் குறுக்கிடப்படக்கூடாது. அசோசியேட்டிவ் நினைவகம் வேகமானது, ஆனால் மிகவும் விலை உயர்ந்தது, ஏனெனில் ஒவ்வொரு நினைவக கலத்தையும் தேட உங்களை அனுமதிக்கும் கூடுதல் ஒப்பீட்டு சுற்று அறிமுகம் தேவைப்படுகிறது. எனவே, அத்தகைய நினைவகம் பொதுவாக அதன் தூய வடிவத்தில் பயன்படுத்தப்படுவதில்லை, மேலும் அதிவேக கேச்-வகை நினைவக சாதனங்கள் பொதுவாக பகுதியளவு துணையாக செயல்படுத்தப்படுகின்றன.

INமுழுமையாக இணைந்தது கேச் நினைவகம் (FACM, முழுமையாக தொடர்புடைய கேச் நினைவகம்), ஒவ்வொரு கலமும் தரவைச் சேமிக்கிறது, மேலும் "டேக்" புலத்தில் - தகவலின் முழு இயற்பியல் முகவரி, அதன் நகல் பதிவு செய்யப்படுகிறது. எந்தவொரு பரிமாற்றத்தின் போதும், கோரப்பட்ட தகவலின் இயற்பியல் முகவரி அனைத்து கலங்களின் "டேக்" புலங்களுடன் ஒப்பிடப்படுகிறது, மேலும் அவை பொருந்தினால், ஹிட் சிக்னல் எந்த கலத்திலும் அமைக்கப்படும்.

ஹிட் = 1 சிக்னலின் மதிப்பைப் படிக்கும் போது, ​​தரவு பஸ்ஸுக்கு தரவு வழங்கப்படுகிறது, ஆனால் பொருத்தங்கள் இல்லை என்றால் (ஹிட் = 0), பின்னர் பிரதான நினைவகத்திலிருந்து படிக்கும்போது, ​​தரவு, முகவரியுடன் சேர்ந்து, இலவச அல்லது அதிகம் பயன்படுத்தப்படாத கேச் கலத்தில் வைக்கப்படும்.

எழுதும் போது, ​​தரவு, முகவரியுடன் சேர்ந்து, முதலில், ஒரு விதியாக, கேச் நினைவகத்தில் வைக்கப்படும் (கண்டறியப்பட்ட கலத்தில் ஹிட் = 1 மற்றும் இலவசம் ஹிட் = 0). நினைவக அணுகல்கள் இல்லாதபோது, ​​முக்கிய நினைவகத்திற்கு தரவை நகலெடுப்பது ஒரு சிறப்பு கட்டுப்படுத்தியின் கட்டுப்பாட்டின் கீழ் செய்யப்படுகிறது.

FACM வகை நினைவகம் மிகவும் சிக்கலான சாதனம் மற்றும் சிறிய திறன்களுக்கு மட்டுமே பயன்படுத்தப்படுகிறது, முக்கியமாக சிறப்பு பயன்பாடுகளில். அதே நேரத்தில், இந்த வகை கேச் மிகப்பெரிய செயல்பாட்டு நெகிழ்வுத்தன்மையையும், மோதல்-இல்லாத தன்மையையும் வழங்குகிறது, ஏனெனில் எந்த யூனிட் தகவலும் எந்த கேச் கலத்திலும் ஏற்றப்படலாம்.

விரிவுரைகளிலிருந்து:

துணை சேமிப்பக சாதனங்கள்

அடிப்படை வேறுபாடு என்னவென்றால், அவர்களிடமிருந்து தகவல்களைப் பிரித்தெடுப்பதற்கான அமைப்பு தகவல்களைக் கண்டுபிடிப்பதற்கான தனித்துவமான முகவரியால் அல்ல, ஆனால் சில அறிகுறிகளால் மேற்கொள்ளப்படுகிறது, இது உண்மையில் தேடப்படும் தகவலின் ஒரு பகுதியாகும்.

தகவல்

ஒரு குறிச்சொல் என்பது ஒரு தனித்துவமான அம்சமாகும், தற்செயலாக ஒரு தகவல் பெறப்படுகிறது.

துணை நினைவகத்தின் எளிமைப்படுத்தப்பட்ட திட்டம்:

சேமிப்பக பகுதி என்பது தகவல் மற்றும் குறிச்சொற்களை சேமிக்கும் எண்ணிடப்பட்ட கலங்களைக் கொண்ட முகவரியிடக்கூடிய நினைவகமாகும்.

துணை நினைவகத்தை அணுக, கோரிக்கைப் பதிவேட்டில் விரும்பிய குறிச்சொல்லின் மாதிரி வைக்கப்படும். ஒப்பீட்டுத் திட்டம் வினவலை ஒப்பிடுகிறது. மெமரி டேக் பேட்டர்னுடன் பொருந்திய மேட்ச் ரிஜிஸ்டரில் ஒரு பொருத்தம் நிறுவப்பட்டுள்ளது. எதிர்வினைகள் சாத்தியம் (பொருத்தங்கள் இல்லை; குறைந்தபட்சம் ஒரு பொருத்தம் உள்ளது - இந்த விஷயத்தில், கண்டுபிடிக்கப்பட்ட செல் தரவு பதிவேட்டில் வைக்கப்படுகிறது; பல பொருத்தம் - COP எந்த கலத்தை செயலாக்கத்திற்குப் பெற வேண்டும் என்பதை தீர்மானிக்க வேண்டும்).

பயன்பாடு: தரவுத்தளம், அறிவுத் தளம், தற்காலிக சேமிப்பாக PC.

நவீன சாதனங்களில் FPGA ஐப் பயன்படுத்துதல்

துபிகோவ் பாவெல் ஆண்ட்ரீவிச்

5 ஆம் ஆண்டு மாணவர், கலை OmSTU, ரஷ்ய கூட்டமைப்பு, ஓம்ஸ்க்

இன்று, புரோகிராம் செய்யக்கூடிய லாஜிக் இன்டகிரேட்டட் சர்க்யூட்கள் (FPGAs) பல்வேறு நவீன சாதனங்களில் அதிகளவில் பயன்படுத்தப்படுகின்றன, இதற்குக் காரணம் வழக்கமான டிஜிட்டல் மைக்ரோ சர்க்யூட்களை விட FPGAகள் குறிப்பிடத்தக்க நன்மைகளைக் கொண்டிருப்பதே ஆகும். இந்த நன்மைகள் அடங்கும்:

· தயாரிப்பு செயல்திறன் மேம்படுத்தப்பட்டது.

· பொருளின் விலை குறைக்கப்படுகிறது.

உற்பத்தியின் குறைக்கப்பட்ட பரிமாணங்கள்.

தயாரிப்பு நம்பகத்தன்மை அதிகரிக்கிறது (தனிப்பட்ட மைக்ரோ சர்க்யூட்களின் எண்ணிக்கை குறைகிறது)

தயாரிப்பு நெகிழ்வுத்தன்மை அதிகரிக்கிறது (FPGA எப்போதும் மறுவடிவமைக்கப்படலாம்)

FPGA கட்டிடக்கலை ஒரு சிக்கலான அமைப்பைக் கொண்டுள்ளது (படம் 1)

படம் 1. FPGA இன் உள் அமைப்பு

படம் 1 இல் இருந்து பார்க்க முடியும், FPGA இன் முக்கிய பகுதி நிரல்படுத்தக்கூடிய லாஜிக் தொகுதிகள் மற்றும் நிரல்படுத்தக்கூடிய உள் இணைப்புகளைக் கொண்டுள்ளது.

நிரலாக்கத்தின் (நிலைபொருள்) FPGA செயல்முறையானது சாதனத்தின் உள்ளீடுகள் மற்றும் வெளியீடுகளுக்கு இடையே தேவையான இணைப்புகளை உருவாக்குவதில் உள்ளது.

இன்றுவரை, உலகில் FPGA களின் உற்பத்தியில் இரண்டு உலகத் தலைவர்கள் உள்ளனர். இவை அமெரிக்க நிறுவனங்களான Xilinx மற்றும் Altera.

ஒவ்வொரு நிறுவனமும் FPGAகளுடன் பணிபுரிய அதன் சொந்த CAD ஐ வழங்குகிறது. Xilinx Xilinx மென்பொருள் மேம்பாட்டு கருவியை (SDK) வழங்குகிறது. Altera Max+Plus II மற்றும் Quartus II மற்றும் ModelSim உருவகப்படுத்துதல் அமைப்பை வழங்குகிறது.

ஃபார்ம்வேர் நிரல்களை உருவாக்க, சாதனங்களின் செயல்பாட்டை விவரிக்கும் மொழிகள் பொதுவாகப் பயன்படுத்தப்படுகின்றன, பின்வரும் மொழிகள் இன்று மிகவும் பொதுவானவை:

வெரிலாக் எச்.டி.எல்.

VHDL கற்க மிகவும் கடினமான மொழி, ஆனால் அது உள்ளது மிகப்பெரிய வாய்ப்புகள்சுருக்கத்தின் செயல்பாட்டு மற்றும் நடத்தை நிலைகளில், ஆனால் Verilog HDL உடன் ஒப்பிடும்போது சுருக்கத்தின் கட்டமைப்பு மட்டத்தில் குறைவான திறன்களைக் கொண்டுள்ளது, VITAL நூலகம் VHDL மொழியின் திறன்களை நீட்டிக்க உருவாக்கப்பட்டது (படம். 2) .


படம் 2. சுருக்கத்தின் அடுக்குகள் வெரிலோக் மற்றும் வி.எச்.டி.எல்

வெரிலாக் HDL மொழியின் செயல்பாட்டிற்கான ஒரு எடுத்துக்காட்டு, மினி-டிலாப் ஸ்டாண்டின் CYCLONE III EP3C5E1444C8N FPGA இல் செயல்படுத்தப்பட்ட ஒரு நிரலாகும், இதன் பொதுவான பார்வை படம். 3.


படம் 3. குழுவின் பொதுவான பார்வை மினி - டிலாப்

இந்த நிரல் led0-led7 LEDகளின் வரிசைமுறை மாறுதலை செயல்படுத்துகிறது, pba மற்றும் pbb பொத்தான்களைப் பயன்படுத்தி "ஒளி" இயக்கத்தைச் சேர்ப்பதுடன், sw0, sw1 சுவிட்சுகளைப் பயன்படுத்தி மாறுதல் வேகத்தைக் கட்டுப்படுத்துகிறது.

//நிரல் உரை

தொகுதிதிட்டம்( வெளியீடுதலைமையில், உள்ளீடு clk_25mhz, உள்ளீடு pba, உள்ளீடு pbb,

உள்ளீடு sw);

// திட்டத்தின் உள் இணைப்புகளின் இலக்கு

கம்பி s1;

கம்பி s2;

கம்பி s3;

// திட்டத்துடன் இணைக்கப்பட்ட பிற கோப்புகளை (சப்ரூடின்கள்) அழைக்கிறது

Tr tr_1 (.out(s2), .set(pba), .res(pbb));

எதிர் கவுண்டர்_1 (.q(s1), .clk(clk_25mhz), .up(s2));

Mx mx_1 (.a(s3), .in(s1), .load(sw));

Dc3_8 dc3_8_1 (.out(led), .in(s3));

இறுதி தொகுதி// நிரலின் முடிவு

சப்ரூடின் டிஆர்

தொகுதி tr(அவுட், செட், ரெஸ்); // ஒரு திட்டத்தை உருவாக்கவும்

// I/O பணி

வெளியீடுரெஜிவெளியே;

உள்ளீடுஅமை;

உள்ளீடுரெஸ்;

// துவக்கம்

ஆரம்ப

தொடங்கும்

வெளியே<= 1"d0;

// முக்கிய நிரல் குறியீடு

எப்போதும் @(தேவையற்றதுஅமைக்க அல்லது தேவையற்றதுமறு)

தொடங்கும்

என்றால்(~(தொகுப்பு))

வெளியே<= 1"d1;

வேறு

வெளியே<= 1"d0;

இறுதி தொகுதி //நிரலின் முடிவு

சப்ரூடின் கவுண்டர்

தொகுதிகவுண்டர்(con, q, clk, up); // நிரல் ஆரம்பம்

வெளியீடுரெஜிஏமாற்றுபவன்;

வெளியீடு q = con;

உள்ளீடுவரை, clk;

// முக்கிய நிரல் குறியீடு

எப்போதும் @(போஸ்ஜ் clk)

தொடங்கும்

என்றால்(clk)

என்றால்(மேலே)

ஏமாற்றுபவன்<= con - 1"d1;

வேறு

ஏமாற்றுபவன்<= con + 1"d1;

இறுதி தொகுதி// நிரலின் முடிவு

சப்ரூடின் எம்எக்ஸ்(மல்டிபிளெக்சர்)

தொகுதி mx( output.regஒரு, உள்ளீடுஉள்ளே, உள்ளீடுசுமை);

// முக்கிய நிரல் குறியீடு

எப்போதும் @*

தொடங்கும்

வழக்கு(சுமை)

2"b00: a = in;

2"b01: a = in;

2"b10: a = in;

2"b11: a = in;

எண்ட்கேஸ்

இறுதி தொகுதி // நிரலின் முடிவு

சப்ரூட்டின் dc3_8 (மல்டிபிளெக்சர்)

தொகுதி dc3_8(அவுட், இன்); // நிரல் ஆரம்பம்

// I/O பணி

output.regவெளியே;

உள்ளீடு கம்பிஉள்ளே;

// முக்கிய நிரல் குறியீடு

எப்போதும் @*

தொடங்கும்

வழக்கு(இல்)

3"d0: out = 8"b11111110;

3"d1: out = 8"b11111101;

3"d2: out = 8"b11111011;

3"d3: out = 8"b11110111;

3"d4: out = 8"b11101111;

3"d5: out = 8"b11011111;

3"d6: out = 8"b10111111;

3"d7: out = 8"b01111111;

எண்ட்கேஸ்

இறுதி தொகுதி // நிரலின் முடிவு

இந்த திட்டம் CAD குவார்டஸ் II இல் செயல்படுத்தப்பட்டது.

நிரலைத் தொகுத்த பிறகு, நிரலின் பகுப்பாய்வு மற்றும் தொடரியல் (படம் 4) தொடர்பான நிரலில் எந்தப் பிழையோ அல்லது குறிப்புகளையோ கம்பைலர் உருவாக்கவில்லை.


படம் 4. திட்ட செய்தி சாளரம்

தொகுப்பாளரின் கருத்துக்கள் குவார்டஸ் II க்கான உரிமம் இல்லாததைக் குறிக்கிறது (திட்டத்தின் இலவச பதிப்பு பயிற்சிக்கு பயன்படுத்தப்பட்டது) மற்றும் திட்டத்தை மாதிரியாக்க தேவையான கோப்புகள் இல்லாதது.

RTL இந்த திட்டத்தின் அமைப்பு படம் காட்டப்பட்டுள்ளது. 5.


படம் 5. திட்டத்தை செயல்படுத்துதல் ( RTL கட்டமைப்பு)

படத்தில் காட்டப்பட்டுள்ளபடி. இந்த திட்டத்தில் 6, இந்த FPGA இன் திறன்களில் ஒரு சிறிய பகுதி மட்டுமே பயன்படுத்தப்படுகிறது.

படம் 6. திட்டத்தில் ஈடுபட்டுள்ள FPGA இன் பகுதி

முடிவுரை:நிரல்படுத்தக்கூடிய லாஜிக் ஒருங்கிணைந்த சுற்றுகள் பல சாதனங்களில் பயன்படுத்தப்படுகின்றன. அவர்களுடன் எவ்வாறு பணியாற்றுவது என்பதை அறிய, ரேடியோ-எலக்ட்ரானிக் உபகரணங்களின் வடிவமைப்பு மற்றும் கட்டுமானம் தொடர்பான சிறப்புகளின் கல்வித் திட்டத்தில் வன்பொருள் விளக்க மொழிகளுடன் (Verilog HDL மற்றும் VHDL) பரிச்சயத்தை அறிமுகப்படுத்துவது அவசியம்.

நூல் பட்டியல்:

1. க்ருஷெவிட்ஸ்கி ஆர்.ஐ. நிரல் தர்க்கத்தின் மைக்ரோ சர்க்யூட்களை அடிப்படையாகக் கொண்ட அமைப்புகளை வடிவமைத்தல் / ஆர்.ஐ. க்ருஷெவிட்ஸ்கி, ஏ.எக்ஸ். முர்சேவ், ஈ.பி. இருண்டது. செயின்ட் பீட்டர்ஸ்பர்க்: BHV பீட்டர்ஸ்பர்க், 2002. - 608 பக்.

2. கோலோமோவ் டி.ஏ. Altra MAX+plus II மற்றும் Quartus II இலிருந்து கணினி உதவி வடிவமைப்பு அமைப்புகள். சுருக்கமான விளக்கம் மற்றும் பயிற்சி / டி.ஏ. கோலோமோவ், ஆர்.ஏ. மயால்க், ஏ.ஏ. ஜோபென்கோ, ஏ.எஸ். பிலிப்போவ். எம்.: ஐபி ரேடியோசாஃப்ட், 2002. - 126 பக்.

3. Maxfield K. FPGA வடிவமைப்பு. ஒரு இளம் போராளியின் போக்கு. / கே. மேக்ஸ்ஃபீல்ட். எம்.: பப்ளிஷிங் ஹவுஸ் "டோடேகா-XXI", 2007. - 408 பக். (ஆங்கிலத்திலிருந்து மொழிபெயர்ப்பு).

விடுமுறைகள் இருந்தபோது, ​​​​வெரிலாக்கில் ஒரு சிறிய திட்டத்தை உருவாக்கினேன், அதை நான் நீண்ட காலமாக முயற்சிக்க விரும்பினேன்.

திட்டத்தின் சாராம்சம் பின்வருமாறு: வேகமான (ஒப்பீட்டளவில், நிச்சயமாக) ADC இரண்டு சேனல்கள் மற்றும் ஒரு இணையான இடைமுகம் (ஒரு சேனலுக்கு 14-16 பிட்கள்) FPGA உடன் இணைக்கப்பட்டுள்ளது. FPGA ஆனது ADC இலிருந்து தரவைப் படித்து அதை ஒரு இடையகத்தில் (அதன் உள் BRAM நினைவகம்) சேமிக்கிறது. பஃபர் நிரம்பியவுடன், வாசிப்பு நிறுத்தப்படும் மற்றும் வெளிப்புற சாதனம் (மைக்ரோகண்ட்ரோலர்) SPI இடைமுகம் வழியாக இடையகத்திலிருந்து தரவைப் படிக்க முடியும். நீங்கள் SPI வழியாக சில அளவுருக்களை உள்ளமைக்கலாம் (இது அடுத்த இடுகையில் விவாதிக்கப்படும்).

திட்ட சோதனை (கிளிக் செய்யக்கூடிய படம்).

IVE சூறாவளிக்கான தொகுப்பு முடிவு

Cyclone IVE குடும்பத்தின் (EP4CE6E22A7) FPGAக்கான முடிவை நான் Quartus II இல் ஒருங்கிணைத்தேன். இது 6272 லாஜிக் கூறுகளுக்கான QFP144 தொகுப்பில் உள்ள எளிமையான மற்றும் மிகவும் மலிவான FPGAகளில் ஒன்றாகும். சிப் நினைவக திறன் 30K * 9 பிட்கள். பயனர் ஊசிகள் - 92.

சிப் EP4CE6E22A7
தர்க்க கூறுகள் - 301 (5%)
ஊசிகள் - 41 (45%)
நினைவகம் - 65536 பிட்கள் (24%)
மோசமான அதிர்வெண் (125 சி) - 151 மெகா ஹெர்ட்ஸ்.

நினைவகம் 8 KB, இது உண்மையில் தரவு எழுதப்பட்ட இடையகமாகும். 16 பிட்களின் இரண்டு சேனல்களுடன், ஒரு மாதிரிக்கு 32 பிட்கள் மற்றும் 2048 மாதிரிகள். இடையகத்தை முழு தொகுதிக்கும் கூட விரிவாக்க முடியும் என்றாலும், இது போதுமானது என்று நான் முடிவு செய்தேன்.

அதிர்வெண் மிகவும் திருப்திகரமாக உள்ளது, கடிகார அதிர்வெண் 50 மெகா ஹெர்ட்ஸ் மற்றும் ADC 25 மெகா ஹெர்ட்ஸ் இருக்கும் என்று நான் எதிர்பார்த்தேன். அதாவது, அதிர்வெண்ணில் மூன்று மடங்கு விளிம்பு பெறப்படுகிறது.

அத்தகைய FPGA க்கு தர்க்க கூறுகளின் எண்ணிக்கை மிகவும் சிறியது, அதாவது. நீங்கள் விரும்பினால், பல விஷயங்களை அங்கே இணைக்கலாம், குறிப்பாக 51 ஊசிகள் எஞ்சியிருப்பதால்.

புதிய சூறாவளி 10 குடும்பம் உள்ளது.

சூறாவளி 10 க்கான தொகுப்பு முடிவு

நாங்கள் 10CL006YE144C8G சிப்பைத் தேர்ந்தெடுக்கிறோம். இது சைக்ளோன் 4 பதிப்பின் அதே எண்ணிக்கையிலான வாயில்களையும் (6272) அதே அளவு நினைவகத்தையும் (30K x 9) கொண்டுள்ளது. வழக்கு QFP144 போலவே உள்ளது, இன்னும் குறைவான பயனர் பின்கள் உள்ளன - 89.

சிப் 10CL006YE144C8G
தர்க்க கூறுகள் - 289 (5%)
ஊசிகள் - 41 (46%)
நினைவகம் - 65536 பிட்கள் (24%)
மோசமான அதிர்வெண் (85 C) 145.5 MHz ஆகும்.

தர்க்கரீதியான கூறுகளின் அடிப்படையில் திட்டம் மிகவும் கச்சிதமாக மாறியுள்ளது என்பது ஆர்வமாக உள்ளது. அதாவது, அதே லாஜிக் திறனுடன், மிகவும் சிக்கலான திட்டம் சூறாவளி 10 க்கு பொருந்தும். மற்ற அனைத்தும் ஒரே மட்டத்தில் உள்ளன.

ஒரு நியாயமான கேள்வி எழுகிறது: மற்றொரு FPGA அல்லது CPLD ஐ நிறுவுவதன் மூலம் பணத்தை சேமிக்க முடியுமா?

FPGA MAX10 ஐ முயற்சிப்போம்.

MAX 10க்கான தொகுப்பு முடிவு

இங்கே வாசகர் (அவர் பாடத்தில் இருந்தால்) கூச்சலிடலாம்: இல்லை, அது அப்படி இல்லை! MAX குடும்பம் என்பது CPLD, FPGA அல்ல, மேலும் இந்தக் கருத்துகளை குழப்புவது அப்பட்டமான தொழில்சார்ந்தத்தன்மை!

இருப்பினும், இன்டெல் சந்தைப்படுத்துபவர்களின் முயற்சிகளுக்கு நன்றி (நாங்கள் இன்டெல் சில்லுகளைப் பற்றி பேசுகிறோம் என்பது அனைவருக்கும் தெரியுமா?), MAX10 குடும்பம் FPGA ஆக மாறியுள்ளது, இருப்பினும் இது எந்த CPLD ஐப் போலவே உள் நிலையற்ற உள்ளமைவு நினைவகத்தைக் கொண்டுள்ளது.

எனவே, நாங்கள் ஒரு சிப்பை தேர்வு செய்கிறோம், எடுத்துக்காட்டாக, 10M02SCE144A7G (2304 LE, 101 GPIO, 12Kx9 BRAM), QFP144 தொகுப்பு.

சிப் 10M02SCE144A7G.
தர்க்க கூறுகள் - 298 (13%)
ஊசிகள் - 41 (41%)
நினைவகம் - 65536 பிட்கள் (59%)
மோசமான அதிர்வெண் (125 சி) - 153 மெகா ஹெர்ட்ஸ்.

முழுமையான குறிகாட்டிகள் நடைமுறையில் ஒரே மாதிரியாக இருப்பதைக் காண்கிறோம், படிக நிரப்புதலின் அளவு மட்டுமே அதிகரித்தது, இது புரிந்துகொள்ளத்தக்கது - 2304LE மற்றும் 6272 LE.

MAX II ஐப் பயன்படுத்த முடியுமா?

இப்போது கேள்வி: MAX II போன்ற மிகவும் மலிவான CPLD ஐப் பயன்படுத்த முடியுமா? இங்கே எல்லாம் மிகவும் சிக்கலானது. அவர்களுக்கு BRAM நினைவகம் இல்லை, அதாவது. உங்களுக்கு வெளிப்புற வேகமான SRAMம் தேவைப்படும்.

SRAM ஐ இணைக்க, நிச்சயமாக, கூடுதல் தர்க்கம் தேவைப்படும். நாம் 4K x 16 நினைவகத்தைப் பயன்படுத்தினால், தரவுக்கு கூடுதலாக 16 பின்கள் தேவைப்படும், முகவரிக்கு 12 மற்றும் கட்டுப்பாட்டுக்கு 3 (/cs, /we, /oe), மொத்தம் 31 கூடுதல் பின்கள் தேவைப்படும்.

தர்க்கமும் அளவு அதிகரிக்கும். சரியாக எவ்வளவு என்று சொல்வது கடினம், ஆனால் இது ஆரம்பத்தில் 240 LE இல் CPLD இல் பொருந்தாது, ஆனால் ஒருவேளை அது 570 LE க்கு பொருந்தும்.

QFP100 தொகுப்பில் CPLD EPM570ஐத் தேர்வு செய்கிறோம். எங்களுக்கு 72 ஊசிகள் மட்டுமே தேவை, கேஸில் GPIO க்கு 76 பின்கள் உள்ளன, அதாவது. எல்லாவற்றிற்கும் போதுமானதாக இருக்க வேண்டும், ஆனால் விரிவாக்கத்திற்கு ஏற்கனவே மிகக் குறைந்த இடமே உள்ளது.

இந்த தீர்வின் நன்மைகள்: குறைந்த விலை (கூடுதல் SRAM சிப் உடன் கூட), தீமைகள்: அதிக சுற்று சிக்கலான மற்றும் பலகை பகுதி.

வெளியீட்டு விலை

efind ஐப் பயன்படுத்தி நான் கண்டுபிடித்தது இங்கே. மைக்ரோ சர்க்யூட்கள் சற்று வித்தியாசமாக இருக்கும், ஆனால் இறுதியில் எண் மற்றும் எழுத்து செயல்திறன் குறியீடு மற்றும் வெப்பநிலை வரம்பு (வணிக) ஆகும். அதிர்வெண்ணில் மூன்று மடங்கு விளிம்பு இருப்பதால், இந்த புள்ளிவிவரங்கள் எங்களுக்கு முற்றிலும் முக்கியமில்லை.

EP4CE6E22C8N - 456.55 R (புரோமிலெக்ட்ரானிக்ஸ், EKB, சில்லறை விற்பனை)
10CL006YE144C - 754.71 (ஐந்தாவது உறுப்பு, செயின்ட் பீட்டர்ஸ்பர்க், மொத்த விற்பனை)
10M02SCE144C8G - 456 R (எலிடன், Ekb, மொத்த விற்பனை)
EPM570F100C5N - 368 R (Hitech, St. Petersburg) + நினைவகம் (CY7C1021DV33-10ZSXI, SRAM 1MBIT 10NS 44TSOP) - 92.51 R (தொழில்துறை மின்னணுவியல், EKB, சில்லறை விற்பனை)

நிச்சயமாக, நீங்கள் மலிவாகக் காணலாம், இவை கடையில் சில்லறை விலைகள் மட்டுமே, ஆனால் விகிதம் ஒரே மாதிரியாக இருக்கும்.

CPLD விருப்பம் பல தீமைகளைக் கொண்டாலும், விலை அடிப்படையில் எந்த வகையிலும் வெற்றி பெறவில்லை என்பதைக் காணலாம். சைக்ளோன் 10 இன்னும் கொஞ்சம் விலை அதிகமாக உள்ளது மற்றும் சிலரிடம் கையிருப்பில் உள்ளது தவிர, மீதமுள்ள விருப்பங்கள் தோராயமாக சமமானவை. இருப்பினும், இது முற்றிலும் புதிய குடும்பம், இதுவரை அனைத்து விநியோகஸ்தர்களும் கொண்டு வரவில்லை.

தனிப்பட்ட முறையில், நான் MAX 10 விருப்பத்தை விரும்புகிறேன். இதில் ஒரு நன்மை உள்ளது: தொடக்கத்தில் FPGA உள்ளமைவை ஏற்ற வேண்டிய அவசியமில்லை. சைக்ளோன் 4 மாறுபாட்டில், நீங்கள் FPGA உள்ளமைவை ஏற்ற வேண்டும், இது கூடுதல் உள்ளமைவு நினைவக சிப்பைப் பயன்படுத்தி அல்லது மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி செய்யலாம். மூன்றாவது விருப்பம் உள்ளது: JTAG வழியாக ப்ளாஷ் செய்து, சிப்பில் இருந்து சக்தியை அகற்ற வேண்டாம். யாரோ இதைச் செய்தார்கள் என்று கேள்விப்பட்டேன், இது நகைச்சுவையா இல்லையா என்று எனக்குத் தெரியவில்லை, ஆனால் நான் நிச்சயமாக அதைச் செய்ய மாட்டேன்.

இருப்பினும், மைக்ரோகண்ட்ரோலர் மூலம் சைக்ளோன் 4 ஃபார்ம்வேர் கொண்ட மாறுபாடு ஒரு நன்மையைக் கொண்டுள்ளது: பயனர் இடைமுகங்கள் மூலம் FPGA ஃபார்ம்வேரைப் புதுப்பிக்கும் திறன்: USB, ஈதர்நெட் போன்றவை.

மற்றொரு அற்பமற்ற விருப்பம் சாத்தியமாகும்: மைக்ரோகண்ட்ரோலரை நிறுவ வேண்டாம், ஆனால் சில உட்பொதிக்கப்பட்ட செயலிகளை FPGA இல் ப்ளாஷ் செய்யவும். ஆனால் இது ஒரு நல்ல விருப்பம் அல்ல, ஒருவேளை, ஏனெனில். இதற்கு கண்டிப்பாக வெளிப்புற ரோம் மற்றும் ரேம் மற்றும் குறைந்தபட்சம் ஒரு USB பிரிட்ஜ் தேவைப்படும். நிச்சயமாக, இந்த விருப்பத்தை வேண்டுமென்றே மறுக்க வேண்டிய அவசியமில்லை, ஆனால் மைக்ரோகண்ட்ரோலரை விட செயல்படுத்துவது மிகவும் கடினம் என்று எனக்குத் தோன்றுகிறது.

இந்த ஃபார்ம்வேர் என்ன செயல்பாடுகளை செய்கிறது என்பது பற்றி, அடுத்த பதிவில் எழுதுகிறேன்.

புரோகிராம் செய்யக்கூடிய லாஜிக் இன்டகிரேட்டட் சர்க்யூட்களுக்கான (FPGAs) உருவாக்கப்பட்ட டிஜிட்டல் தொகுதிகளுக்கான அதனுடன் இணைந்த ஆவணங்களின் கலவையைத் தீர்மானிக்க கட்டுரை முயற்சிக்கிறது. FPGA இல் டிஜிட்டல் சாதனங்களை வடிவமைக்கும் கட்டத்தில், டெவலப்பர்கள் தங்கள் திட்டங்களில் மேம்படுத்தப்பட்ட டிஜிட்டல் தொகுதியை வெற்றிகரமாகப் பயன்படுத்துவதற்காக, நுகர்வோர்/வாடிக்கையாளருக்கு, டெவலப்பர்களால் இந்த ஆவணங்கள் வழங்கப்பட வேண்டும்.

அறிமுகம்

எனவே, நிறுவனம் அல்லது வாடிக்கையாளர் நிறுவனம் அல்லது மற்றொரு டெவலப்பர் எதிர்காலத்தில் தங்கள் திட்டங்களில் "வெளிநாட்டு" உருவாக்கப்பட்ட சாதனத்தைப் பயன்படுத்தினால், டெவலப்பரிடம் இருந்து என்ன வகையான வடிவமைப்பு ஆவணங்களைக் கேட்க வேண்டும்? FPGA களுக்கான டிஜிட்டல் சாதனத்தை உருவாக்குவதற்கான குறிப்பு விதிமுறைகளை முதலில் சரியாக வெளியிடுவதற்கு இந்தக் கட்டுரை "ஏமாற்றுத் தாளாக" செயல்படும், பின்னர் ஏற்கனவே உருவாக்கப்பட்ட டிஜிட்டல் சாதனத்திற்கான வடிவமைப்பு ஆவணங்களை டெவலப்பரிடம் கேட்கவும். வடிவமைப்பு ஆவணங்களுடன் முந்தைய அனுபவத்தின் அடிப்படையில், ஒரு நிறுவனம் அல்லது நிறுவனம் பொதுவாக பின்வரும் தரநிலைகள் மற்றும் ஒழுங்குமுறைகளைப் பயன்படுத்துகிறது:

  • GOST 2.102-68 ESKD. வடிவமைப்பு ஆவணங்களின் வகைகள் மற்றும் முழுமை.
  • GOST 15.101-98. தயாரிப்புகளின் வளர்ச்சி மற்றும் உற்பத்திக்கான அமைப்பு. ஆராய்ச்சி பணிகளைச் செய்வதற்கான செயல்முறை.
  • GOST R 15.201-20-00. தயாரிப்புகளின் வளர்ச்சி மற்றும் உற்பத்திக்கான அமைப்பு. தொழில்துறை மற்றும் தொழில்நுட்ப நோக்கங்களுக்கான தயாரிப்புகள். தயாரிப்புகளின் வளர்ச்சி மற்றும் உற்பத்திக்கான செயல்முறை.

ஒரு விதியாக, இவை ஒரு ஃபார்ம்வேர் கோப்பு மற்றும் ஒரு நிரல் (VHDL / Verilog இல் உள்ள டிஜிட்டல் சாதனத்தின் விளக்கம் அல்லது டிஜிட்டல் லாஜிக் லைப்ரரி கூறுகளைப் பயன்படுத்தி ஒரு சர்க்யூட் எடிட்டரில் உருவாக்கப்பட்ட டிஜிட்டல் சர்க்யூட்களின் தொகுப்பு, ஃபிளிப்-ஃப்ளாப்ஸ், ரெஜிஸ்டர்கள், கவுண்டர்கள், டிகோடர்கள், முதலியன) CD அல்லது DVD மற்றும் நிரலாக்க வழிமுறைகளில். அவ்வளவு தான்.

உதாரணமாக, ஆசிரியர் பின்வரும் சிக்கலை எதிர்கொண்டார். ஊழியர்களில் ஒருவர் சிக்கலான பல தொகுதி டிஜிட்டல் சாதனத்தை உருவாக்கினார். நான் VHDL இல் உள்ள அனைத்து தொகுதிகளையும் விவரித்தேன், மேலும் இந்த தொகுதிகள் மற்றும் டிஜிட்டல் சாதனத்தின் செயல்பாட்டின் சைக்ளோகிராம்களை ஒரு நல்ல மற்றும் விலையுயர்ந்த அலைக்காட்டியில் பார்த்தேன். டெஸ்ட் பெஞ்ச் கோப்புகள் மற்றும் உருவகப்படுத்துதல்களை நடத்துவதற்கான சாத்தியக்கூறுகள் பற்றி அவருக்குத் தெரியாது அல்லது அவற்றை எவ்வாறு எழுதுவது என்று தெரியவில்லை, மேலும், திட்டம் மற்றும் தொகுதிகளின் விளக்கங்கள் குறித்து எந்த கருத்தும் இல்லை. லைப்ரரி கூறுகளைப் பயன்படுத்தி திட்ட எடிட்டரில் வடிவமைக்கப்பட்ட டிஜிட்டல் சுற்றுகளால் தொகுதிகள் குறிப்பிடப்பட்டால் நிலைமை இன்னும் மோசமாக இருக்கும். இங்குதான் ஒரு முக்கிய குறைபாடு உள்ளது: டெவலப்பரைத் தவிர, இந்த டிஜிட்டல் சாதனத்தை வேறு யாரும் புரிந்துகொள்வது சாத்தியமில்லை, குறிப்பாக திட்டம் பல தொகுதிகளாக இருந்தால், மேலும் ஒவ்வொரு தொகுதியின் விளக்கமும் 100 வரிகளுக்கு மேல் அல்லது அதற்கு மேல் இருந்தால். ஒரு மானிட்டர் திரையை விட. எனவே, மற்றொரு டெவலப்பர் FPGA க்காக ஏற்கனவே உருவாக்கப்பட்ட டிஜிட்டல் சாதனத்தை ஒரு புதிய மேம்பாடு அல்லது திட்டத்தில் அறிமுகப்படுத்த விரும்பினால், அவர் மீண்டும் இந்த டிஜிட்டல் சாதனத்தை உருவாக்க நேரத்தை செலவிட வேண்டும்.

FPGAகளுக்கான வடிவமைப்பு சிக்கலின் வரலாறு

தற்போது, ​​FPGA சந்தை மிகவும் மாறும் வகையில் வளரும் ஒன்றாகும். FPGAகள் தொழில்நுட்பத்தின் பல கிளைகளில் பயன்படுத்தப்படுகின்றன. இந்த நேரத்தில், கணினி மட்டத்தில் சாதனத்தின் செயல்பாட்டு மாதிரியிலிருந்து FPGA உள்ளமைவைப் பெறுவதற்கு அனைத்து வன்பொருள் டெவலப்பர்களையும் திருப்திப்படுத்தும் தெளிவான முறை எதுவும் இல்லை. இந்த சிக்கலைத் தீர்ப்பதற்கான மிகவும் பிரபலமான அணுகுமுறை ஐபி-கோர் தொழில்நுட்பத்தைப் பயன்படுத்துவதாகும் (அறிவுசார் சொத்து கோர்கள்). ஐபி கோர்கள் ஆயத்த கூறுகள் ஆகும், அவை மிகவும் சிக்கலான அமைப்பை உருவாக்க உங்கள் சொந்த திட்டத்தில் எளிதாக சேர்க்க அனுமதிக்கின்றன. இந்த அணுகுமுறை ஒரு குறிப்பிடத்தக்க குறைபாட்டைக் கொண்டுள்ளது - அடிப்படை அடிப்படையுடன் ஐபி-கருக்களின் இணைப்பு. ஒவ்வொரு ஐபி மையமும் ஒரு குறிப்பிட்ட உற்பத்தியாளரிடமிருந்து ஒரு குறிப்பிட்ட தொடர் சில்லுகளுக்கு உகந்ததாக உள்ளது, இது ஏற்கனவே உருவாக்கப்பட்ட சாதனங்களை ஒரு உறுப்பு அடிப்படையில் இருந்து மற்றொன்றுக்கு மாற்றுவதற்கான சாத்தியத்தை கணிசமாகக் குறைக்கிறது. வணிக CAD கட்டமைப்புகளின் மூடிய தன்மை, அவற்றின் அடிப்படையில் பதிவு பரிமாற்ற நிலையில் (RTL) சாதன மாதிரிகளைப் பெற, கணினி மட்டத்தில் உங்கள் சொந்த செயல்பாட்டு சாதன மாதிரிகளைச் சேர்க்க இயலாது. டிஜிட்டல் தொகுதியின் வளர்ச்சியானது, மின்சுற்று எடிட்டரில் வரையப்பட்ட டிஜிட்டல் சர்க்யூட் வடிவில் உற்பத்தியாளரின் உள்ளமைக்கப்பட்ட CAD லைப்ரரியைப் பயன்படுத்தி, ஃபிளிப்-ஃப்ளாப்ஸ், டிகோடர்கள், கவுண்டர்கள், சேர்டர்கள் போன்ற அடிப்படை சர்க்யூட் கூறுகளின் மூலம் மேற்கொள்ளப்படுகிறது.

கணினி மட்டத்தில் செயல்பாட்டு மாதிரியிலிருந்து பதிவு இடமாற்றங்களின் மட்டத்தில் ஒரு சாதன மாதிரிக்கு மாற்றத்தை அனுமதிக்கும் மற்றொரு பிரபலமான அணுகுமுறை கணினி-நிலை வடிவமைப்பு மொழிகளின் (SLDLs) பயன்பாடு ஆகும். இத்தகைய மொழிகளில் SystemC, Handel-C, VHDL, Verilog, System Verilog ஆகியவை அடங்கும். சாதனம் செயல்படுத்தப்படும் வன்பொருள் அடிப்படையில் இருந்து சுதந்திரம் முக்கிய நன்மை.

இவ்வாறு, ஒருபுறம், ஐபி-கோர் தொழில்நுட்பத்தைப் பயன்படுத்தும் போது, ​​வன்பொருள் டெவலப்பர் உயர்தர தீர்வைப் பெறுகிறார், ஆனால் சாதனம் செயல்படுத்தப்படும் வன்பொருள் அடிப்படையில் கண்டிப்பாக பிணைக்கப்பட்டுள்ளது. மறுபுறம், கணினி மட்டத்தில் வன்பொருள் விளக்க மொழிகளைப் பயன்படுத்தும் போது, ​​சாதன செயலாக்கம் வன்பொருள் சுயாதீனமாக உள்ளது. மேற்கூறியவற்றிலிருந்து, தற்போது, ​​வன்பொருள் விளக்க மொழி மற்றும் உற்பத்தியாளர் (Xilinx, Altera, Actel, முதலியன) மற்றும் மூன்றாம் தரப்பு டெவலப்பர்களின் IP கோர்களில் டிஜிட்டல் தொகுதிகளின் கூட்டுப் பயன்பாட்டைப் பயன்படுத்துவது முக்கியம். டிஜிட்டல் தொகுதிகளை வடிவமைக்கும் செயல்முறை. மூன்றாம் தரப்பு உற்பத்தியாளர்களிடமிருந்து டிஜிட்டல் தொகுதிகளைப் பயன்படுத்தும் போது, ​​சில சமயங்களில் அதனுடன் இணைந்த ஆவணங்களில் தகவல் பற்றாக்குறை உள்ளது.

FPGA க்காக உருவாக்கப்பட்ட டிஜிட்டல் தொகுதி பற்றிய தகவலை வழங்குதல்

கணினி மட்டத்தில் சாதனத்தின் செயல்பாட்டு மாதிரியின் படி FPGA உள்ளமைவைப் பெறுவதற்கான வழிமுறையைப் பொறுத்து, டெவலப்பர் FPGA க்காக பின்வரும் வகையான டிஜிட்டல் தொகுதிகளை வேறுபடுத்தலாம்:

  • மென்பொருள் - உருவாக்கப்பட்ட டிஜிட்டல் தொகுதி, வன்பொருள் விளக்க மொழியில் (VHDL, Verilog) அல்லது / மற்றும் லாஜிக் சர்க்யூட்களின் தானியங்கு தொகுப்புக்கான நிரல்களில் மேலும் பயன்பாட்டிற்காக ஸ்கீமாடிக் எடிட்டரில் ஒரு விளக்கத்தின் வடிவத்தில் நுகர்வோருக்கு அனுப்பப்படுகிறது. செயல்பாட்டு அளவுருக்கள்.
  • நிலைபொருள் - மூன்றாம் தரப்பு டெவலப்பர் நிறுவனத்தால் உருவாக்கப்பட்ட ஒரு டிஜிட்டல் தொகுதி, இது ஐபி கோர் என அழைக்கப்படுகிறது, இது FPGA உற்பத்தியாளரின் லாஜிக் உறுப்பு நூலகத்தின் அடிப்படையில் நுகர்வோருக்கு லாஜிக் சர்க்யூட் (நெட்லிஸ்ட்) வடிவத்தில் அனுப்பப்படுகிறது மற்றும் செயல்பாட்டு அடிப்படையில் உகந்ததாக உள்ளது. மற்றும் மின் அளவுருக்கள்.

தனிப்பட்ட அனுபவத்தின் அடிப்படையில் ஆவணப்படுத்தல் மேம்பாட்டின் கட்டத்தில், வழக்கமான வடிவமைப்பு ஆவணங்கள் மற்றும் விவரக்குறிப்புகளுக்கு கூடுதலாக, GOST 15.101, GOST 15.201, GOST 2.102, GOST 2.114, அனைத்து வகையான மாதிரிகளுக்கான ஆவணங்களையும் வழங்குவது அவசியம். (அமைப்பு, தர்க்கம், சுற்று) FPGA களில் டிஜிட்டல் சாதனங்களை வடிவமைக்கும் நிலைகளில் உருவாக்கப்பட்டது.

வேறு வார்த்தைகளில் கூறுவதானால், ஃபார்ம்வேர் கோப்பு, நிரலாக்க வழிமுறைகள் மற்றும் சிடி / டிவிடியில் பதிவுசெய்யப்பட்ட திட்டம் ஆகியவற்றுடன், எஃப்பிஜிஏக்களுக்கான டிஜிட்டல் சாதனத்திற்கான வடிவமைப்பு ஆவணங்களின் தொகுப்பு, அதனுடன் இணைந்த ஆவணங்களையும் சேர்க்க வேண்டும்.

மேசை.துணை ஆவணப் பிரிவுகளின் பட்டியல்

பிரிவின் பெயர் காண்க
மென்பொருள் நிலைபொருள்
பொதுவான செய்தி
நோக்கம் மற்றும் நோக்கம் பற்றி ஆர்
விவரக்குறிப்புகள் பற்றி பற்றி
மீட்டமைப்பு சமிக்ஞைகளின் விளக்கம் பற்றி பற்றி
ஒத்திசைவு சமிக்ஞைகளின் விளக்கம் பற்றி பற்றி
இடைமுகங்களின் விளக்கம் பற்றி ஆர்
நேர வரைபடங்கள் ஆர் பற்றி
கட்டுப்பாட்டு பதிவேடுகளின் விளக்கம் பற்றி பற்றி
கட்டமைப்பு (செயல்பாட்டு) வரைபடம் ஆர் ஆர்
நிரலாக்க வழிகாட்டி பற்றி பற்றி
FPGA மாதிரி அல்லது குடும்பம்,
நிறுவனத்தின் உற்பத்தியாளர்
ஆர் பற்றி
டிஜிட்டல் தொகுதியின் விளக்கக்காட்சி
FPGA இல் தர்க்க வடிவமைப்பிற்காக
RTL மாதிரி பற்றி இல்லை
லாஜிக் மாதிரி இல்லை பற்றி
வடிவமைப்பு வரம்புகள் பற்றி பற்றி

FPGA களுக்கான டிஜிட்டல் தொகுதியின் திட்டப்பணியின் அதனுடன் இணைந்த ஆவணத்தில் சேர்க்கப்பட வேண்டிய பிரிவுகளின் (அட்டவணை) பட்டியல் இங்கே உள்ளது. ஒவ்வொரு பிரிவிற்கும், ஆவணங்களின் தொகுப்பில் பிரிவைச் சேர்க்க வேண்டியதன் அவசியத்தின் அறிகுறிகள் காட்டப்படுகின்றன:

  • "ஓ" - கட்டாயமாக வழங்கப்பட்ட பிரிவு;
  • "R" - பிரிவு டெலிவரிக்கு பரிந்துரைக்கப்படுகிறது.

MS Word, PDF (சிறந்த வடிவம்), HTML ஆகியவை துணை ஆவணங்களைச் சமர்ப்பிப்பதற்கான பரிந்துரைக்கப்பட்ட கோப்பு வடிவங்கள். வன்பொருள் விளக்க மொழியில் உள்ள விளக்கக் கோப்புகள் (VHDL, Verilog) மற்றும்/அல்லது ஸ்கீமாடிக் எடிட்டரில் உருவாக்கப்பட்டவை CAD வடிவமைப்பு மென்பொருளின் தேவைக்கேற்ப வழங்கப்படுகின்றன. ஸ்கீமாடிக் எடிட்டரில் உருவாக்கப்பட்ட டிஜிட்டல் சர்க்யூட் கோப்புகளின் கிராஃபிக் வடிவத்தில் (ஜேபிஇஜி, பிஎம்பி) கூடுதல் வழங்கல் விதிவிலக்காக இருக்கலாம்.

பொதுவான செய்தி

இந்த பிரிவு உருவாக்கப்பட்ட டிஜிட்டல் தொகுதி பற்றிய பொதுவான தகவல்களை விளக்க வடிவில் விவரிக்கிறது:

  • செயல்பாட்டு வரைபடம் மற்றும் அதன் தொகுதிகள்/பகுதிகள்;
  • சமிக்ஞைகளை மீட்டமைத்தல், ஒத்திசைவு;
  • பயன்படுத்தப்பட்ட இடைமுகங்கள்;
  • கட்டுப்பாட்டு பதிவேடுகள்;
  • நேர வரைபடம்;
  • நிரலாக்கம்.

நோக்கம் மற்றும் நோக்கம்

டிஜிட்டல் தொகுதியின் நோக்கம், அதன் பயன்பாட்டின் நோக்கம் தீர்மானிக்கப்படுகிறது.

விவரக்குறிப்புகள்

செயல்திறன், ஒரு குறிப்பிட்ட FPGA சிப்பிற்கான மின் நுகர்வு, ஆக்கிரமிக்கப்பட்ட வாயில்களின் எண்ணிக்கை, FPGA சிப்பின் வகை போன்ற அதன் முக்கிய தொழில்நுட்ப பண்புகளின் விளக்கம் கொடுக்கப்பட்டுள்ளது. கூடுதலாக, டிஜிட்டல் CAD தொகுதியின் வளர்ச்சியில் பயன்படுத்தப்படும் FPGA உற்பத்தியாளர் மற்றும் மாடலிங் மற்றும் சரிபார்ப்புக்கு பயன்படுத்தப்படும் மென்பொருள் ஆகியவை குறிப்பிடப்படுகின்றன. பயன்படுத்தப்படும் அனைத்து நிரல்களுக்கும், பதிப்பு மற்றும் நிறுவப்பட்ட புதுப்பிப்புகள் குறிக்கப்படுகின்றன. வெளிப்புற உள்ளீடுகள் / வெளியீடுகள் என்ற பெயருடன் "கருப்பு பெட்டி" வடிவத்தில் டிஜிட்டல் தொகுதியின் வரைகலை பிரதிநிதித்துவம் கொடுக்கப்பட்டுள்ளது மற்றும் அவற்றின் நோக்கம் பற்றிய சுருக்கமான விளக்கம் கொடுக்கப்பட்டுள்ளது.

மீட்டமைப்பு சமிக்ஞைகளின் விளக்கம்

ரீசெட் சிக்னல்கள் பற்றிய விரிவான தகவல்கள் கொடுக்கப்பட்டுள்ளன:

  • வெளிப்புற மற்றும் உள் மீட்டமைப்பு சமிக்ஞைகளின் பட்டியல்.
  • ரீசெட் சிக்னல்களின் நேர அளவுருக்கள் மற்றும் நேர வரைபடங்கள்.
  • டிஜிட்டல் தொகுதியில் ஏதேனும் இருந்தால், உள் மீட்டமைப்பு சமிக்ஞைகளை உருவாக்குவதற்கான சுற்றுகள்.
  • பிற சமிக்ஞைகளுடன் உறவுகள் (குறிப்பாக ஒத்திசைவு சமிக்ஞைகள்).

ஒத்திசைவு சமிக்ஞைகளின் விளக்கம்

ஒத்திசைவு சமிக்ஞைகள் பற்றிய விரிவான தகவல்கள் கொடுக்கப்பட்டுள்ளன:

  • வெளிப்புற ஒத்திசைவு சமிக்ஞைகளின் விளக்கம்;
  • ஒத்திசைவு சமிக்ஞைகளின் நேர அளவுருக்கள்;
  • உள் ஒத்திசைவு சமிக்ஞைகள் மற்றும் அவற்றின் உருவாக்கத்தின் திட்டங்கள் பற்றிய விளக்கம்;
  • வெவ்வேறு மூலங்களிலிருந்து ஒத்திசைவு சமிக்ஞைகளுக்கு இடையிலான நேர உறவுகள்;

இடைமுகங்களின் விளக்கம்

உருவாக்கப்பட்ட டிஜிட்டல் தொகுதியின் ஒரு பகுதியாக இருக்கும் அனைத்து இடைமுகங்களின் பயன்பாட்டின் அம்சங்கள், ஒரு சிப்பில் கணினியின் மற்ற முனைகளுடன் தொடர்புகளை ஒழுங்கமைக்க முன்னுரிமை அளிக்கப்படுகின்றன. கூடுதலாக, நிலையான இடைமுகத்தின் முழுமையான விளக்கத்திற்கான இணைய இணைப்பு வழங்கப்படுகிறது அல்லது இடைமுகத்தின் விளக்கமே வழங்கப்படுகிறது. இந்த நேரத்தில், AMBA, PLB, Wishbone பஸ்ஸிற்கான இடைமுகங்கள் டிஜிட்டல் தொகுதிகளுக்கான ஒருங்கிணைந்த இடைமுகங்களாக ஏற்றுக்கொள்ளப்படுகின்றன.

நேர வரைபடங்கள்

டிஜிட்டல் தொகுதியின் இடைமுகங்கள் மற்றும் பிற உள்ளீடுகள்/வெளியீடுகள் மூலம் தரவு பரிமாற்றத்தை ஒழுங்கமைக்க தேவையான தகவல்கள் வழங்கப்படுகின்றன: நேர வரைபடங்களின் வரைகலை பிரதிநிதித்துவம், தரவு பரிமாற்ற நெறிமுறைகளின் விளக்கம், டிஜிட்டல் தொகுதிக்கு பயன்படுத்தப்படும் வெளிப்புற சமிக்ஞைகளுக்கான தேவைகள் (காலம், அதிர்வெண் போன்றவை) , மற்றும் பிற தகவல்கள்.

கட்டுப்பாட்டு பதிவேடுகளின் விளக்கம்

டிஜிட்டல் தொகுதியின் அனைத்து கட்டுப்பாட்டு பதிவேடுகளின் விளக்கம் கொடுக்கப்பட்டுள்ளது. கட்டுப்பாட்டுப் பதிவேட்டின் பொதுவான விளக்கத்தில் பதிவேட்டின் பெயர், உள் முகவரி இடத்தில் உள்ள பதிவேட்டின் முகவரி, மீட்டமைக்கப்பட்ட சமிக்ஞை அகற்றப்பட்ட பின் ஆரம்ப மதிப்பு, அணுகல் வகை (படிக்க / எழுதுதல்), உள் விவரம் ஆகியவற்றைக் கொண்டுள்ளது. வயல்வெளிகள்.

கட்டமைப்பு (செயல்பாட்டு) வரைபடம்

டிஜிட்டல் தொகுதியின் முக்கிய உள் முனைகள் / தொகுதிகளின் இணைப்புகளின் உள் கட்டமைப்பின் படம் மற்றும் அவற்றின் சுருக்கமான உரை விளக்கம் கொடுக்கப்பட்டுள்ளது. கூடுதலாக, டிஜிட்டல் தொகுதியின் முக்கிய உள் தொகுதிகளின் விளக்கம் கொடுக்கப்பட்டுள்ளது. இந்த ஆவணத்தின் நோக்கம், டிஜிட்டல் தொகுதியின் செயல்பாட்டுக் கொள்கைகளைப் புரிந்துகொள்வதற்குத் தேவையான தகவலை நுகர்வோருக்கு வழங்குவதாகும்.

விவரிக்கப்பட்ட தொகுதிகளின் எண்ணிக்கை மற்றும் விளக்கத்தின் நோக்கம் டிஜிட்டல் தொகுதியின் டெவலப்பரால் தீர்மானிக்கப்படுகிறது. முன்னுரிமை, விவரிக்கப்பட்ட தொகுதிகளின் குறைந்தபட்ச எண்ணிக்கை டிஜிட்டல் தொகுதியின் கட்டமைப்பு (செயல்பாட்டு) வரைபடத்தின் உறுப்புகளின் எண்ணிக்கையுடன் ஒத்துள்ளது.

உட்புற அலகு பற்றிய பொதுவான விளக்கம் கொண்டுள்ளது:

  • தொகுதி ஒதுக்கீடு;
  • கட்டமைப்பு (செயல்பாட்டு) தொகுதி வரைபடம் (தேவைப்பட்டால்);
  • இயக்க முறைகள் மற்றும் வழிமுறைகள்;
  • வேலை நேர அட்டவணைகள்;
  • அலகு மேலாண்மை அமைப்பு;
  • மற்ற அலகுகளுடன் தொடர்பு அமைப்பு;
  • வேறு ஏதேனும் தகவல்.

நிரலாக்க வழிகாட்டி

FPGA இல் டிஜிட்டல் தொகுதியின் உற்பத்தியாளரின் CAD, மென்பொருள் உருவாக்க மற்றும் பிழைத்திருத்தத்திற்கான தேவையான கருவிகள் மற்றும் மென்பொருள் நூலகங்களைப் பயன்படுத்தி நிரலாக்க செயல்முறை பற்றிய தேவையான அனைத்து தகவல்களையும் வழங்குகிறது.

FPGA மாதிரி அல்லது குடும்பம், உற்பத்தியாளர்

ஒரு டிஜிட்டல் தொகுதியின் நிலைபொருளுக்கு, FPGA உற்பத்தியாளர், FPGA மாதிரி அல்லது குடும்பம் மற்றும் அதன் வேக பண்புகள் குறிக்கப்படுகின்றன. மென்பொருள் டிஜிட்டல் தொகுதிக்கு, ஆக்கிரமிக்கப்பட்ட வளங்களின் அளவு, பயன்படுத்தப்பட்ட FPGAக்கான தேவைகள் பற்றிய தகவல் வழங்கப்படுகிறது.

தர்க்க வடிவமைப்பிற்கான டிஜிட்டல் தொகுதியின் பிரதிநிதித்துவம்

VHDL இல் "வெளிநாட்டு" திட்டத்தைப் பயன்படுத்துவதில் உள்ள சிரமங்களைப் பற்றி கட்டுரை விவாதித்தது - நிரல்களுக்கு பெயரிடுவதற்கும் எழுதுவதற்கும் பொருத்தமான வழிகாட்டுதல்கள் இல்லாதது. பெயர்கள், நிரல்களை எழுதுவதற்கான நல்ல பழக்கவழக்கங்கள் மற்றும் தொகுப்புக்கான வழிகாட்டுதல்கள் பற்றிய பொதுவான அறிவுறுத்தல்கள் வழங்கப்பட்டன. எதிர்காலத்தில் நீங்கள் FPGA இல் டிஜிட்டல் மாட்யூலின் RTL மாதிரியை உருவாக்கத் தொடங்கும் முன், நீங்கள் சொந்தமாக உருவாக்க அல்லது மேம்படுத்துவதைத் தொடர திட்டமிட்டால், இந்த சிக்கல்கள் டெவலப்பருடன் முடிந்தவரை விரிவாக விவாதிக்கப்பட வேண்டும். FPGA இல் உள்ள மென்பொருள் டிஜிட்டல் தொகுதி வகைக்கு இது குறிப்பாக உண்மை. கட்டுரையின் அதே பகுதி FPGA இல் உருவாக்கப்பட்ட டிஜிட்டல் தொகுதியின் முழு திட்டத்திற்கான பொதுவான தேவைகளை விவரிக்கிறது. FPGA இல் டிஜிட்டல் தொகுதியை உருவாக்குவதற்கான குறிப்பு விதிமுறைகளை வரையும்போது நீங்கள் கவனம் செலுத்த வேண்டிய சிக்கல்கள் இங்கே உள்ளன, மேலும் இது குறிப்பாக பணி முடிவுகளை மாற்றுவதைப் பற்றியது.

RTL மாதிரி

வெரிலாக் அல்லது விஎச்டிஎல் மொழியின் ஒருங்கிணைக்கப்பட்ட துணைக்குழுவில் விவரிக்கப்பட்டுள்ள டிஜிட்டல் தொகுதி அல்லது/மற்றும் ஸ்கீமாடிக் எடிட்டரில் உருவாக்கப்பட்டது FPGA லாஜிக் சின்தஸிஸ் கட்டத்தில் பயன்படுத்துவதற்காக வடிவமைக்கப்பட்டுள்ளது. FPGA உற்பத்தியாளரின் CAD அமைப்பில் டிஜிட்டல் தொகுதியின் ஒருங்கிணைக்கப்பட்ட திட்டத்தின் வடிவத்தில் மென்பொருளுக்காக வழங்கப்படுகிறது. ஃபார்ம்வேர் டிஜிட்டல் தொகுதிக்கு, RTL மாதிரி ஒரு தனி ஒப்பந்தத்தின் கீழ் வழங்கப்படுகிறது.

RTL மாதிரி கோப்புகளுக்கு கூடுதலாக, பின்வருபவை மாற்றப்படுகின்றன:

  • மாதிரியைப் பயன்படுத்துவதற்கான வழிமுறைகள்.
  • நினைவகத்தின் வகை, அளவு, நினைவக தொகுதிகளின் எண்ணிக்கை, நினைவகத் தொகுதியின் படிநிலைப் பெயர் உள்ளிட்ட மாதிரியில் சேர்க்கப்பட்டுள்ள நினைவக தொகுதிகளின் விளக்கம்.
  • புரோகிராம்களைப் பயன்படுத்தி அவற்றை உருவாக்கும்போது முன் கட்டப்பட்ட கர்னல்களை எவ்வாறு உருவாக்குவது என்பதை விவரிக்கிறது (உதாரணமாக, Xilinx ISEக்கான CoreGenerator). விளக்கங்கள் இல்லாத நிலையில், தொழில்நுட்பம் மற்றும் உற்பத்தியாளர் சார்பு காரணமாக மறுவடிவமைப்பு மற்றும் பயன்பாடு ஆகியவற்றில் கட்டுப்பாடுகள் இருக்கலாம்.
  • உற்பத்தியாளரிடமிருந்து நுண்செயலியைப் பயன்படுத்தும் விஷயத்தில் (உதாரணமாக, Altera - Nios செயலி; Xilinx - Microblaze, PowerPC நுண்செயலிகளில் இருந்து), செயலி கோர் மற்றும் அதன் சுற்றளவை உள்ளமைக்கும் செயல்முறையின் விளக்கம் தேவை.
  • வெரிலாக் அல்லது/மற்றும் விஎச்டிஎல் அல்லது/மற்றும் சிஸ்டம் வெரிலாக்கில் எழுதப்பட்ட டிஜிட்டல் மாட்யூலைச் சரிபார்ப்பதற்கும் உருவகப்படுத்துவதற்கும் சோதனைகளின் தொகுப்பு (டெஸ்ட் பெஞ்ச் கோப்புகள்).
  • வேறு ஏதேனும் கூடுதல் தகவல்.

லாஜிக் மாதிரி

இந்த மாதிரியானது FPGA உற்பத்தியாளரின் நூலகத்தின் அடிப்படையில் Verilog அல்லது VHDL மொழிகளைப் பயன்படுத்தி விவரிக்கப்பட்ட நெட்லிஸ்ட் ஆகும், மேலும் இது டிஜிட்டல் மாட்யூல் ஃபார்ம்வேருக்கு வழங்கப்படுகிறது.

தருக்க மாதிரி கோப்புகளுக்கு கூடுதலாக, பின்வருபவை மாற்றப்படுகின்றன:

  • இந்த மாதிரியைப் பயன்படுத்துவதற்கான வழிமுறைகள்.
  • வெரிலாக் அல்லது/மற்றும் விஎச்டிஎல் அல்லது/மற்றும் சிஸ்டம் வெரிலாக்கில் எழுதப்பட்ட டிஜிட்டல் மாட்யூலைச் சரிபார்ப்பதற்கும் உருவகப்படுத்துவதற்கும் சோதனைகளின் தொகுப்பு (டெஸ்ட் பெஞ்ச் கோப்புகள்).
  • ஒரு டிஜிட்டல் தொகுதியை மாடலிங் செய்வதற்கும் சரிபார்ப்பதற்கும் சோதனைகளின் தொகுப்புடன் வேலை செய்வதற்கான வழிகாட்டி.
  • வேறு ஏதேனும் கூடுதல் தகவல்.

வடிவமைப்பு வரம்புகள்

சிஸ்டம்-ஆன்-சிப் லாஜிக் மாதிரியில் சேர்க்கப்படும் போது, ​​டிஜிட்டல் தொகுதிக்கு விதிக்கப்படும் கட்டுப்பாடுகளின் தொகுப்பை விவரிக்கும் கோப்பாக வடிவமைப்பு கட்டுப்பாடுகள் வழங்கப்படுகின்றன. இந்த தொகுப்பில் ஒத்திசைவு சமிக்ஞைகளுக்கான கட்டுப்பாடுகள் (கடிகாரக் கட்டுப்பாடுகள்), நேரக் கட்டுப்பாடுகள் (நேரக் கட்டுப்பாடுகள்), மற்ற தொகுதிகளுடன் டிஜிட்டல் தொகுதியின் தொடர்பு மீதான கட்டுப்பாடுகள் மற்றும் டிஜிட்டல் தொகுதியின் இயக்க நிலைமைகள் ஆகியவை அடங்கும். சுருக்க வடிவமைப்பு கட்டுப்பாடுகள் (SDC) அல்லது FPGA உற்பத்தியாளரின் CAD வடிவம் விரும்பப்படுகிறது.

ஒத்திசைவு சமிக்ஞைகளுக்கான வரம்புகளின் எடுத்துக்காட்டு பட்டியல்:

  • நேர வரைபடம் (கடிகார அலைவடிவம்);
  • கடிகார அதிர்வெண் உறுதியற்ற தன்மை (ஜிட்டர்);
  • கடிகார கட்ட மாற்றம்;
  • மாறுதல் நேரங்களின் காலம் (மாற்ற நேரங்கள்);
  • பெறப்பட்ட கடிகார சமிக்ஞைகளின் நேர வரைபடங்கள் (உருவாக்கப்பட்ட கடிகார அலைவடிவங்கள்);
  • வேறு ஏதேனும் கூடுதல் தகவல்.

டிஜிட்டல் தொகுதிகளின் மென்பொருள் மற்றும் நிலைபொருளுக்கு ஒத்திசைவு சமிக்ஞைகளுக்கான கட்டுப்பாடுகளின் தொகுப்பு கட்டாயமாகும்.

நேர வரம்புகளின் மாதிரி பட்டியல்:

  • உள்ளீடுகளில் சமிக்ஞைகள் நிகழும் நேரம் (உள்ளீடுகளில் வருகை நேரம்);
  • வெளியீடுகளில் சமிக்ஞைகள் தோன்றும் நேரம் (வெளியீடுகளில் தேவையான நேரங்கள்);
  • பல சுழற்சி பாதைகள்;
  • தவறான பாதைகள் (False paths);
  • தரவு சமிக்ஞை மாற்றம் நேரங்களின் காலம்;
  • வேறு ஏதேனும் கூடுதல் தகவல்.

முடிவுரை

எஃப்பிஜிஏக்களுக்கான உருவாக்கப்பட்ட டிஜிட்டல் தொகுதிகளுக்கான துணை ஆவணங்களின் கொடுக்கப்பட்ட கலவை நுகர்வோருக்கும் டெவலப்பருக்கும் இடையிலான ஒப்பந்தத்தின் மூலம் வழங்கப்படுகிறது. பெரும்பாலும், டெவலப்பர் VHDL, Verilog, System Verilog மற்றும் / அல்லது திட்ட எடிட்டரில் உருவாக்கப்பட்டது ஆகியவற்றில் விவரிக்கப்பட்டுள்ள டிஜிட்டல் தொகுதியை மட்டுமே வழங்குகிறார். கூடுதல் ஆவணங்களைப் பொறுத்தவரை, டெவலப்பரின் பதில் பெரும்பாலும் பின்வருமாறு: “டிஜிட்டல் தொகுதி வேலை செய்கிறது, எனவே அதை எடுத்து அதைப் பயன்படுத்தவும். வன்பொருளின் மொழியில் சுற்று விவரிப்பதில் கடினமான ஒன்றும் இல்லை: அதை நீங்களே கண்டுபிடிப்பீர்கள்.

ஆசிரியரின் கருத்துப்படி, நீங்கள் எதையும் புரிந்து கொள்ள முடியும், இது அனைத்தும் ஆசை மற்றும் செலவழித்த நேரத்தைப் பொறுத்தது, மேலும் ஏற்கனவே உருவாக்கப்பட்ட டிஜிட்டல் தொகுதியில் "வெளிநாட்டு" திட்டத்தைப் புரிந்துகொள்வதற்கான நேரம் VHDL இல் உள்ள உபகரணங்களை விவரிக்கும் அனுபவத்திற்கு நேரடியாக விகிதாசாரமாகும். வெரிலாக் மற்றும் அறிவு டிஜிட்டல் மற்றும் நுண்செயலி சுற்று. அதனுடன் உள்ள ஆவணங்களின் கலவையை நீங்கள் ஆரம்பத்தில் டெவலப்பருடன் ஒப்புக்கொண்டால், உங்கள் திட்டத்தில் டிஜிட்டல் தொகுதியைப் பயன்படுத்துவது எளிதாகிறது, மேலும் அதன் செயல்படுத்தல் வேகமாக இருக்கும்.

சுருக்கமாக, எஃப்பிஜிஏவில் டிஜிட்டல் சாதனத்தை உருவாக்குவதற்கான பணியை உருவாக்கும் போது, ​​​​கட்டுரையில் கொடுக்கப்பட்டுள்ள பரிந்துரைகளை ஒருவர் கடைபிடிக்க வேண்டும், பின்னர் முன்னர் உருவாக்கப்பட்ட டிஜிட்டலை மீண்டும் பயன்படுத்தும்போது அல்லது மேம்படுத்தும்போது எந்த பிரச்சனையும் இருக்காது என்பதை ஆசிரியர் கவனிக்க விரும்புகிறார். சாதனம்.

இலக்கியம்

  1. Denisov A. FPGA // கூறுகள் மற்றும் தொழில்நுட்பங்களுக்கான VHDL இல் டிஜிட்டல் சாதனங்களை வடிவமைப்பதற்கான பல குறிப்புகள். 2009. எண். 12.
  2. GOST 2.102-68 ESKD. வடிவமைப்பு ஆவணங்களின் வகைகள் மற்றும் முழுமை.
  3. GOST 2.114-95 ESKD. விவரக்குறிப்புகள்.
  4. GOST 15.101-98. தயாரிப்புகளின் வளர்ச்சி மற்றும் உற்பத்திக்கான அமைப்பு. அறிவியல் ஆராய்ச்சி பணிகளைச் செய்வதற்கான செயல்முறை.
  5. GOST R 15.201-20-00. தயாரிப்புகளின் வளர்ச்சி மற்றும் உற்பத்திக்கான அமைப்பு. தொழில்துறை மற்றும் தொழில்நுட்ப நோக்கங்களுக்கான தயாரிப்புகள். தயாரிப்புகளின் வளர்ச்சி மற்றும் உற்பத்திக்கான செயல்முறை.