คำถามติดแท็ก fpga

Gate Gate ที่ตั้งโปรแกรมได้ (FPGA) เป็นชิปตรรกะที่ลูกค้ากำหนดค่าหลังจากการผลิตดังนั้นจึงเป็น "ฟิลด์ที่ตั้งโปรแกรมได้"

3
FPGA ขั้นตอนแรก
อย่างนี้เป็นความต่อเนื่องของคำถามของฉันบน FPGA กว่าที่นี่ ในที่สุดฉันก็เลือกDigilent Atlysกับ Spartan 6 FPGA ฉันไม่เคยมีประสบการณ์เกี่ยวกับ FPGA มาก่อนถึงแม้ว่าฉันจะทำงานกับไมโครคอนโทรลเลอร์จำนวนหนึ่ง ฉันใช้เวลาสองสามวันในการอ่านแผ่นข้อมูลของ FPGA และฉันคิดว่ามันจะเป็นทางเลือกที่ดีในการเริ่มต้นกับ Verilog ฉันไม่สามารถหาตัวอย่างรหัสใด ๆ และแม้กระทั่งแผ่นข้อมูลที่ไม่เป็นมือใหม่ ฉันต้องการทำบางอย่างของการเขียนโปรแกรมการจำลองการสังเคราะห์และนี่คือสิ่งที่ฉันต้องการจะทำ สร้างความถี่คี่พูด 54Mhz จาก FPGA (มันทำงานบนนาฬิกา 100Mhz) และกำหนดเส้นทางไปยังหนึ่งในหมุด ฉันอาจจะต้องใช้ DCM หรือ PLL สำหรับเรื่องนี้ แต่ไม่รู้จะเริ่มต้นอย่างไรที่นี่? ติดตั้ง I2C อ่านเขียนจาก FPGA สิ่งที่ฉันกำลังมองหาคือการอ้างอิงอาจเป็นหนังสือออนไลน์หรือหนังสือที่ให้รหัสตัวอย่างและคำอธิบายของส่วนประกอบฮาร์ดแวร์แต่ละรายการที่มีอยู่ใน FPGA เช่น DCM ชิ้นส่วนของ clb เป็นต้น ฉันเดาว่าควรเริ่มต้นให้ฉันเข้าสู่โลกของ FPGA
11 fpga  xilinx  spartan 

4
FPGA: นับถอยหลังหรือนับถอยหลัง?
ฉันเรียนรู้ที่จะใช้ FPGA (คณะกรรมการพัฒนา Papilio ซึ่งมี xilinx spartan3e โดยใช้ vhdl) ฉันต้องแบ่งพัลส์ที่เข้ามาด้วยหมายเลข (รหัสยาก) ฉันสามารถเห็น 3 ตัวเลือก - คร่าวๆเป็น pseudocode (ใช้ 10 นับเป็นตัวอย่าง): เริ่มต้นเป็น 0 เมื่อการเพิ่มขึ้นของขอบการป้อนข้อมูลเพิ่มขึ้น 1 เปรียบเทียบกับ 10 ถ้ามันเท่ากันให้รีเซ็ตเป็น 0 และทริกเกอร์เอาท์พุทพัลส์ เริ่มต้นที่ 10 เมื่ออินพุทขอบเพิ่มขึ้นลดลง 1 เปรียบเทียบกับ 0; หากเท่ากันให้รีเซ็ตเป็น 10 และทริกเกอร์เอาท์พุทพัลส์ เริ่มต้นที่ 9 แต่ให้แน่ใจว่ามีบิตนำหน้า "0" อย่างน้อย 1 ซึ่งเป็นบิตเอาต์พุตของฉัน บนอินพุตที่เพิ่มขึ้นขอบลดลง 1 บนขอบที่เพิ่มขึ้นของบิตเอาท์พุทรีเซ็ต รอบการปฏิบัติหน้าที่ไม่สำคัญ เป็นหนึ่งในสิ่งเหล่านี้ดีกว่าคนอื่น …
11 fpga  vhdl  xilinx  papilio 

2
การแชร์ออสซิลเลเตอร์ระหว่างสองไอซี
ฉันมีไมโครคอนโทรลเลอร์และ FPGA ในบอร์ดเดียวกัน หากพวกเขาทั้งคู่วิ่งด้วยความเร็วสัญญาณนาฬิกาเท่ากันฉันจะใช้ออสซิลเลเตอร์หนึ่งตัวในการจับเวลาทั้งสองได้ไหม ดูเหมือนว่ามีบางสิ่งที่ฉันควรระวังที่นี่ แต่ฉันไม่สามารถคิดได้ทันทีว่าปัญหาใด ๆ กับมันถ้าฉันเพียงแค่ให้ร่องรอยสั้น ๆ มีใครทำแบบนี้มาก่อนหรือไม่ จะมีอะไรผิดพลาดเกิดขึ้นได้บ้าง?

2
“ ครึ่งสลัก” ใน FPGA คืออะไร
ในบทความเกี่ยวกับ FPGA ที่มีการฉายรังสีอย่างหนักฉันเจอประโยคนี้: "ข้อกังวลอีกประการเกี่ยวกับอุปกรณ์ Virtex คือครึ่งสลักบางครั้งใช้สลักครึ่งในอุปกรณ์เหล่านี้สำหรับค่าคงที่ภายในเนื่องจากมีประสิทธิภาพมากกว่าการใช้ตรรกะ" ฉันไม่เคยได้ยินเกี่ยวกับอุปกรณ์ดั้งเดิมของ FPGA ที่เรียกว่า "สลักครึ่ง" เท่าที่ฉันเข้าใจดูเหมือนว่ากลไก "แหล่งที่มา" ค่าคงที่ '0' หรือ '1' ในเครื่องมือแบ็กเอนด์ ... ทุกคนสามารถอธิบายสิ่งที่ "ครึ่งสลัก" โดยเฉพาะอย่างยิ่งในบริบทของ FPGAs และพวกเขาสามารถใช้เพื่อบันทึกตรรกะได้อย่างไร แก้ไข: กระดาษที่ฉันพบนี้คือการเปรียบเทียบของ FPGAs การแผ่รังสีอย่างหนักและการแผ่รังสีที่ทนต่อรังสีสำหรับการใช้งานในอวกาศ
10 fpga  vhdl  xilinx  radiation 

2
CPLD และ FPGA แตกต่างกันอย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับการแลกเปลี่ยนกองวิศวกรรมไฟฟ้า ปิดให้บริการใน4 ปีที่แล้ว CPLD และ FPGA แตกต่างกันอย่างไร

5
VHDL: การใช้ตัวดำเนินการ '*' เมื่อใช้ตัวคูณในการออกแบบ
ปัจจุบัน FPGAs ได้สร้างขึ้นในบล็อก DSP, FPGA ล่าสุดแม้ได้สร้างขึ้นในหน่วยจุดลอยตามมาตรฐาน IEEE-754 สามารถสร้างเอนทิตี / โมดูล DSP โดยใช้ GUI หลังจากเลือกพารามิเตอร์ที่ต้องการในมันจากนั้นสร้างอินสแตนซ์ในการออกแบบได้ทันที เมื่อใดที่เราต้องทำ micromanagment ในการออกแบบบล็อก DSP ที่เกิดขึ้นจริงทันทีและเมื่อใดที่เราเพิ่งใส่โอเปอเรเตอร์ '*' ในรหัสและให้เครื่องมือสังเคราะห์จัดการรายละเอียดในระดับต่ำ? ไหนดีกว่ากัน มีอัลกอริธึมการคูณหลายประเภทแตกต่างกันเมื่อพูดถึงการคูณแบบไบนารี ตั้งแต่ตอนนี้เราได้สร้างบล็อก DSP บนซิลิกอนและแม้กระทั่งสร้างขึ้นในตัวคูณจุดลอยตัวนั่นหมายความว่าอัลกอริธึมทั้งหมดนั้นไม่ล้าสมัยอย่างมีประสิทธิภาพ
10 fpga  vhdl  dsp 

1
ลิงก์ FPGA ไปยังหน่วยความจำภายนอก
ฉันพยายามที่จะใช้หน่วยความจำโทรศัพท์มือถือในคณะกรรมการพัฒนาการ Nexys 4 FPGA ฉันใช้ Xilinx Vivado และต้องการตัวประมวลผลหลักแบบไมโครซอฟท์ที่สามารถอ่านและเขียนได้ จนถึงตอนนี้ฉันได้สร้างโปรเซสเซอร์ในการออกแบบบล็อก หลังจากล่าสัตว์ผ่านอินเทอร์เน็ตมากในที่สุดฉันก็พบตัวควบคุมหน่วยความจำภายนอกหรือ EMC ซึ่งฉันคิดว่ามันดูมีแนวโน้ม ฉันจะไปเกี่ยวกับการเชื่อมต่อรามขึ้นได้อย่างไร? ฉันได้สร้างเครื่องห่อ HDL และพยายามเชื่อมต่อพอร์ตของ EMC กับขาของ ram อย่างไรก็ตามมีพอร์ตมากกว่าที่ฉันต้องการ ฉันไม่พบตัวอย่างของ Nexys 4 หรือ Vivado EMC ฉันยังพบว่า Nexys 2 มีตัวอย่างของคอนโทรลเลอร์หน่วยความจำออนบอร์ด ฉันเห็นว่าหมายเลขชิ้นส่วนนั้นเหมือนกันสำหรับ RAM สิ่งนี้จะใช้งานได้และฉันจะใช้ร่วมกับ Mircoblaze ได้อย่างไร?
10 fpga  memory  ram 

3
กระบวนการเวลาใน FPGA
ฉันใหม่สำหรับ fpgas และมีรายละเอียดปลีกย่อยบางอย่างที่ฉันไม่แน่ใจว่าฉันเข้าใจ: หากกระบวนการซิงโครนัสทั้งหมดของฉันถูกเรียกใช้บนขอบเดียวกันนั่นหมายความว่าอินพุตของฉันถูก 'จับ' บนขอบที่เพิ่มขึ้นหนึ่งและ เปลี่ยนผลลัพธ์ .. ขอบเดียวกันหรือไม่ ขอบที่เพิ่มขึ้นต่อไป? หากฉันมีสองโมดูลซึ่งเอาต์พุตของหนึ่งไหลไปยังอินพุตของถัดไปอาจมีสถานการณ์ที่อินพุตของโมดูลของฉัน (เอาต์พุตของโมดูลก่อนหน้า) เปลี่ยนไปพร้อมกันเมื่อถูกจับ เครื่องหมายที่ 205ns แสดงสิ่งที่ฉันกำลังพูดถึง op และ data_write เป็นอินพุตของฉัน ทุกอย่างดูเหมือนจะ "ทำงานได้" ในกรณีทดสอบนี้ แต่ในการจำลองสถานการณ์ไม่ชัดเจนว่าจะถูกจับเมื่อใด data_write = "0001 ... " ถูกบันทึกไว้ที่ 205ns หรือ (205ns + 1 รอบนาฬิกา) หรือไม่ มีวิธีรับรูปคลื่นโดยละเอียดใน ISim ที่แสดงการตั้งค่าและกดค้างไว้หรือไม่? ขอบคุณ

1
MD5 VHDL ไปป์ไลน์
ฉันกำลังพยายามใช้ขั้นตอนการทำงาน MD5 แบบ 3 ขั้นตอนตามลิงก์นี้ โดยเฉพาะอย่างยิ่ง algoritms ในหน้า 31 นอกจากนี้ยังมีเอกสารอื่นที่อธิบายถึงการส่งต่อข้อมูล สิ่งนี้ทำใน FPGA (Terasic DE2-115) ไม่มีแผนงานในโครงการนี้รหัส VHDL เท่านั้น library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity md5core is port ( CLOCK_50 : in std_logic; SW : in std_logic_vector(17 downto 17) ); end entity md5core; architecture md5core_rtl of md5core is type r_array is …
10 fpga  vhdl 

4
ใช้ขอบนาฬิกาทั้งสองข้าง
ฉันกำลังเขียนโปรแกรม Altera Cyclone IV โดยใช้ Verilog และ Quartus II ในการออกแบบของฉันฉันต้องการใช้ขอบนาฬิกาทั้งสองข้างเพื่อที่ฉันจะสามารถทำการแบ่งนาฬิกาด้วยปัจจัยประหลาดที่มีรอบการทำงาน 50% นี่คือตัวอย่างรหัสของฉัน: always @(posedge low_jitter_clock_i or negedge low_jitter_clock_i or posedge reset_i) begin if(reset_i) begin fixed_clock <= 1'b0; divider_dummy <= 'b0; end else begin fixed_clock <= fixed_clock_next; divider_dummy <= divider_dummy_next; end end ตอนนี้เมื่อฉันรวบรวมสิ่งนี้ Quartus II จะพ่นข้อผิดพลาดต่อไปนี้: Verilog HDL สร้างข้อผิดพลาดเสมอที่ adc_clocking.v (83): …


3
นาฬิกาเอียงคืออะไรและทำไมจึงเป็นลบได้
คอมไพเลอร์ HDL ของฉัน (Quartus II) สร้างรายงานเวลา ในนั้นโหนดมีคอลัมน์ "นาฬิกาเอียง" คำจำกัดความเฉพาะนาฬิกาเอียงที่ฉันพบอยู่ในเอกสาร TimeQuest (ดูหน้า 7-24): ในการระบุความไม่แน่นอนของนาฬิกาด้วยตนเองหรือเอียงสำหรับการถ่ายโอนแบบนาฬิกาต่อวันให้ใช้set_clock_uncertaintyคำสั่ง ดังนั้นหากความเบ้เป็น "ความไม่แน่นอน" ทำไมนาฬิกาบางส่วนของฉันถึงเป็นลบ (เช่น -0.048) นาฬิกาเอียงคืออะไร?

2
ฉันจะใช้ประโยชน์จากเซ็นเซอร์ CCD ที่ถูกทิ้งจากสแกนเนอร์ได้อย่างไร
ฉันได้รับสแกนเนอร์ตัวเก่าที่ไม่มีอะแดปเตอร์ ฉันต่อสายเข้ากับบางสิ่งด้วยอะแดปเตอร์ที่ใช้งานร่วมกันได้ แต่เห็นได้ชัดว่าเครื่องสแกนโดยเฉพาะนี้เชื่อมโยงกับแหล่งจ่ายไฟเป็นอย่างมาก (แม้ว่าจะเป็น 12V DC ปกติ) มีรายงานจำนวนมากทางออนไลน์ที่ไม่ทำงานจนกว่าพวกเขาจะใช้แหล่งจ่ายไฟอย่างเป็นทางการ ฉันไม่สามารถให้สแกนเนอร์ทำงานได้ใน Windows และจะไม่มีอะไรนอกจากเสียงรบกวนใน Linux ดังนั้นฉันจึงแยกมันออกจากกัน ข้างในฉันพบสิ่งที่เห็นได้ชัดว่าเซ็นเซอร์ CCD สำหรับฟังก์ชั่นการสแกน เซ็นเซอร์นี้ไม่มีหมายเลขชิ้นส่วนอยู่ในตัว แต่อย่างใด ฉันดู Wikipedia สำหรับข้อมูลบางอย่างเกี่ยวกับ CCD และออนไลน์ แต่ฉันไม่เคยพบเอกสารจริงเกี่ยวกับวิธีการใช้ประโยชน์จากพวกเขา ฉันนึกภาพโครงการกล้องที่ค่อนข้างหยาบ ฉันจะเอาภาพออกจากสิ่งนี้ด้วย Arduino หรือ FPGA ได้อย่างไร รูปภาพ: (คลิกเพื่อดูภาพขยาย) ในภาพสุดท้ายชิป SMD 4 ตัวยังเป็นอินเวอร์เตอร์ฐานสิบหก 74ACT04
10 arduino  fpga  camera  ccd 

1
วิธีการสร้าง Ambilight แบบอิง FPGA ได้อย่างไร
พื้นหลังอย่างรวดเร็วบางอย่าง: Ambilightเป็นระบบของทีวี Philips บางรุ่นที่วิเคราะห์ข้อมูลสีบนหน้าจอจากนั้นตั้งค่า LED บางส่วนที่ด้านหลังของจอแสดงผลเพื่อฉายภาพสีของหน้าจอลงบนผนัง มันเป็นเอฟเฟกต์สวย ๆ มีโคลนของระบบนี้ในตอนนี้ที่ใช้พีซีเพื่อประมวลผลวิดีโอและควบคุมไฟ LED ฉันคิดว่านี่น่าจะเกินความจริงนิดหน่อย - โดยใช้ทั้งเครื่องเพื่อเต้นรำ LED บางตัว ... ฉันต้องการที่จะดัดแปลงNeTV ของ bunnyเพื่อประมวลผลการเข้ารหัสฟีดวิดีโอ HDMI และขับ LED บางตัว ฉันรู้ว่า NeTV ได้รับการออกแบบมาเพื่อวัตถุประสงค์อื่น แต่ฉันรู้สึกว่ามันสามารถปรับเปลี่ยนได้เพื่อให้บรรลุเป้าหมายของฉัน ฉันไม่สนใจระบบย่อยของ Linux, การปลอมแปลง I2C, การซ้อนทับวิดีโอ ฯลฯ ณ จุดนี้ฉันไม่เกี่ยวข้องกับการทำงานกับสตรีมเข้ารหัส HDCP แผนงาน NeTV รหัสที่มา NeTV FPGA Block Diagram นี่คือแผนภาพบล็อกจากหนึ่งในสไลด์การนำเสนอของ bunnie ส่วนที่เหลือของชุดสไลด์อยู่ที่นี่ สไลด์นี้ดูเหมือนจะบ่งบอกว่าพิกเซลวิดีโอในความเป็นจริงการถอดรหัส (ไม่จำเป็นต้องถอดรหัส ) ในที่สุด …
10 fpga  hdmi 

3
จะเกิดอะไรขึ้นเมื่อเปิดใช้งาน FPGA และไม่ได้กำหนดค่าไว้
ฉันกำลังพยายามทำความเข้าใจโดยทั่วไปเกี่ยวกับสิ่งที่เกิดขึ้นถ้าคุณปล่อย FPGA ที่ไม่มีโปรแกรมไว้เป็นเวลานาน สมมติว่าคุณมี FPGA และคุณไม่ได้ตั้งโปรแกรมไว้เป็นเวลานาน (หลังจากเปิดเครื่องหลายนาทีถึงหลายชั่วโมง) เช่นไม่มีบิตสตรีมมันไม่ดีสำหรับอุปกรณ์นี้หรือไม่ แนะนำให้มีบิตสตรีมบน FPGA ที่เปิดการทำงานอยู่ตลอดเวลาหรือไม่? ความคิดเห็นทั่วไปเกี่ยวกับเรื่องนี้คืออะไร? ผลลัพธ์ต่างกันในอุปกรณ์หรือผู้ผลิตที่แตกต่างกัน (Xilinx vs. Altera vs. ผู้อื่น) ข้อมูลเพิ่มเติม: ฉันมีบอร์ด SoC แบบกำหนดเองซึ่งใช้ Xilinx Virtex-6 FPGA ฉันยังมี Xilinx ML605 ซึ่งฉันใช้เพื่อการอ้างอิง คณะกรรมการที่กำหนดเอง: ฉันเปิดเครื่องบนกระดาน ฉันสังเกตเห็นว่าฉันใช้เวลาสั้น ๆ ในการเขียนโปรแกรมโดยใช้ XMD (Xilinx Microprocessor Debugger) ถ้าฉันสูญเสียหน้าต่าง 20-30 วินาทีฉันต้องปิดและเปิดบอร์ดก่อนที่จะลองอีกครั้ง สิ่งนี้ไม่ได้เกิดขึ้นกับ ML605 เมื่อฉันพยายามเขียนโปรแกรมกำหนดบอร์ดเองบน XMD ฉันจะได้รับ: Error: Device Reset by …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.