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

VHDL (VHSIC (วงจรรวมความเร็วสูงมาก) คำอธิบายฮาร์ดแวร์ภาษา) เป็นภาษาคำอธิบายฮาร์ดแวร์ที่ใช้ในระบบอัตโนมัติการออกแบบอิเล็กทรอนิกส์เพื่ออธิบายและออกแบบระบบดิจิตอลเช่นอาร์เรย์ประตูที่ตั้งโปรแกรมได้และวงจรรวม

9
โครงการมือใหม่ใน FPGA หรือไม่?
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันอยู่ห่างออกไปสองสัปดาห์จากการทำหลักสูตรการออกแบบลอจิกดิจิตอลวิทยาลัยครั้งแรกของฉันและเห็นได้ชัดว่าจะไม่มีโครงการสุดท้าย - แค่การสอบครั้งสุดท้ายที่น่าเบื่อ ดังนั้นนักเรียนที่อยากรู้อยากเห็นจะทำอย่างไรฉันจึงตรวจสอบว่า FPGA คืออะไรจริง ๆ และสิ่งที่ฉันเป็นช้อนป้อนในชั้นเรียน และฉันตัดสินใจที่จะทำโครงการ FPGA ง่าย ๆ ฉันใช้ Basys2 Spartan-3E FPGA และฉันคุ้นเคยกับตรรกะดิจิทัลและใช้ ISE เพื่อผลักประตูลอจิกรอบ ๆ แต่ฉันไม่รู้ VHDL / Verilog (ฉันแน่ใจว่าฉันสามารถหยิบมันขึ้นมาได้อย่างง่ายดาย) ไม่มีใครมีแนวคิดโครงการใด ๆ สำหรับผู้เริ่มต้นหรือไม่? ฉันสาธิตการทดลองหลายครั้ง แต่ก็ไม่แฟนซีเกินไป
11 fpga  design  vhdl  verilog 

6
ตัวอย่างรหัสสำหรับตัวกรอง FIR / IIR ใน VHDL?
ฉันพยายามเริ่มต้นกับ DSP ในกระดาน Spartan-3 ของฉัน ฉันทำบอร์ด AC97 โดยใช้ชิปจากมาเธอร์บอร์ดเก่าและจนถึงตอนนี้ฉันได้รับมาเพื่อทำ ADC คูณตัวอย่างด้วยตัวเลข <1 (ลดระดับเสียง) จากนั้น DAC ตอนนี้ฉันต้องการทำสิ่งพื้นฐาน DSP บางอย่างเช่นตัวกรอง low-pass, high-pass ฯลฯ แต่ฉันสับสนเกี่ยวกับการแสดงตัวเลข (จำนวนเต็ม? จำนวนคงที่จุดตรึง? Q0.15 ล้นหรืออิ่มตัว) ผมแค่อยากโค้ดบางตัวอย่างของจริงกรองง่ายที่จะรับฉันเริ่มต้น ไม่มีประสิทธิภาพสูงเร็วหรืออะไรอย่างนั้น เพียงแค่ใช้ตัวกรองตามทฤษฎีใน VHDL ฉันค้นหา แต่ฉันเพิ่งพบสูตรตามทฤษฎี - ฉันเข้าใจแล้วสิ่งที่ฉันไม่เข้าใจคือวิธีการประมวลผลตัวอย่างเสียงแบบ 48 บิตที่ได้รับการเซ็นชื่อแบบ 16 บิตที่ฉันได้รับจาก ADC ผมเคยใช้ห้องสมุดเหล่านี้: http://www.vhdl.org/fphdl/ ถ้าฉันคูณตัวอย่างด้วย 0.5, 0.25, ฯลฯ ฉันจะได้ยินความแตกต่าง แต่ตัวกรองที่ใหญ่ขึ้นทำให้ฉันมีเสียงรบกวน ขอบคุณ
11 fpga  vhdl  dsp  iir  fir 

3
มี“ ลวดลายการออกแบบ” สำหรับ RTL ที่สังเคราะห์ได้หรือไม่?
สำหรับซอฟต์แวร์นั้น Book Design Patternsเป็นชุดรูปแบบสำหรับการทำสิ่งต่าง ๆ ในซอฟต์แวร์และให้คำศัพท์ทั่วไปแก่ผู้ปฏิบัติงานซอฟต์แวร์เพื่ออธิบายส่วนประกอบบางอย่างที่พวกเขาต้องการสร้าง หนังสือหรือแหล่งข้อมูลดังกล่าวมีอยู่สำหรับ RTL หรือ RTL แบบสังเคราะห์โดยทั่วไปหรือไม่? สิ่งต่าง ๆ เช่นข้อผิดพลาดทั่วไปข้อเสียของการออกแบบข้อควรพิจารณาเกี่ยวกับการหยุดชะงักและการออกแบบอินเตอร์เฟส

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 

5
มีไลบรารีโอเพ่นซอร์สสำหรับ VHDL สำหรับ C ++ หรือ python หรือไม่?
เมื่อฉันเข้าใกล้ปัญหาใน C ++ หรือ python มีหลายไลบรารีที่มีอยู่ซึ่งทำให้รหัสของฉันหนักขึ้น ฉันกำลังคิดถึงGNU GSL , BOOSTหรือ FFTW สำหรับ C ++ และ NumPy หรือ SciPy สำหรับ python ในหลาย ๆ ทางความจริงที่ว่าทรัพยากรเหล่านี้มีอยู่ทำให้การเขียนโค้ดในภาษาที่เกี่ยวข้องเหล่านี้มีมูลค่าเนื่องจากห้องสมุดป้องกันไม่ให้คุณต้องเขียนสิ่งที่ต่ำทั้งหมดตั้งแต่เริ่มต้น ไลบรารีมาตรฐาน IEEE ดูเหมือนจะครอบคลุมเฉพาะพื้นฐานมาก ๆ เช่นชนิดข้อมูล (เรียงลำดับคล้ายกับ lib มาตรฐาน C) ดูเหมือนว่าใน VHDL คุณสามารถซื้อ / หา "IP Cores" บางอย่างที่จะแก้ปัญหาแทนที่จะใช้ไลบรารีโอเพ่นซอร์ส ในไพ ธ อนถ้าฉันต้องการพูดคุยกับอุปกรณ์แบบอนุกรมฉันเพียงimport serialและฉันก็ทำโดยทั่วไป ใน VHDL ฉันอาจจะเขียนโพรโทคอลแบบอนุกรมตั้งแต่เริ่มต้นหรือฉันต้องไปที่ google บนที่เก็บต่างๆจนกว่าฉันจะพบใครบางคนที่ผลิตงานบางอย่างที่เรียงลำดับ จากนั้นฉันจะทำการแก้ไขโค้ดในโครงการของฉันแทนที่จะรวมเอาบางสิ่งและเรียกสิ่งนั้น …

4
วิธีนำสัญญาณภายในของโมดูลที่ต่ำกว่าไปยังโมดูลด้านบนใน VHDL ได้อย่างไร
ฉันจะนำสัญญาณภายในของซอร์สโค้ด VHDL ของฉันไปที่ testbench ของฉันเพื่อให้สามารถดูพวกเขาเป็นรูปคลื่นได้อย่างไร ฉันใช้ Active HDL ฉันต้องการทราบว่ามีวิธีการที่เป็นอิสระจากเครื่องมือใด ๆ ในการบรรลุวัตถุประสงค์หรือไม่ ความช่วยเหลือใด ๆ ที่ชื่นชม ฉันได้รับข้อผิดพลาดนี้แล้ว รหัสที่มาของฉันคือ entity SPI_DAC is Port ( -- inputs and oututs ) end SPI_DAC; architecture Behavioral of SPI_DAC is --These are my internal signals signal ch1_byte_data_sent : STD_LOGIC_VECTOR(23 downto 0) := x"000000"; signal ch1_byte_cmd_sent : STD_LOGIC_VECTOR(23 …
11 vhdl 

2
VHDL: หรือบิตของเวกเตอร์ด้วยกัน
ฉันต้องการหรือบิตของเวกเตอร์ด้วยกัน สมมติว่าฉันมีเวกเตอร์ที่เรียกว่าexample(23 downto 0)และฉันต้องการหรือบิตทั้งหมดเป็นเวกเตอร์อื่นมีวิธีใดที่จะไม่เกี่ยวข้องกับการไปexample(0) or example(1) or ...example(23)หรือไม่
11 vhdl 

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

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

2
คุณสามารถอินเทอร์เฟซสำหรับ testimench Modelsim ด้วยสิ่งเร้าภายนอก
ฉันกำลังทำงานกับทีมที่ทำทั้งซอฟต์แวร์ไดรเวอร์และการพัฒนา FPGA การจำลอง FPGA กำลังดำเนินการใน Modelsim และซอฟต์แวร์ไดรเวอร์เขียนด้วยภาษาซีเพื่อลดความเสี่ยงในการรวมระบบฉันชอบที่จะสามารถจำลองการทำงานร่วมกันระหว่างสองส่วนของผลิตภัณฑ์ของเราก่อนที่จะวางลงบนฮาร์ดแวร์ ฉันรู้ว่า Modelsim รองรับ testbench ที่ให้คุณจัดเตรียมสิ่งเร้าในรูปแบบของไฟล์ข้อความที่มีเวลาและค่าสำหรับป้อนข้อมูล ฉันสงสัยว่า Modelsim มีโหมดที่อนุญาตให้คุณเชื่อมต่อท่อกับแอปพลิเคชันภายนอก (เช่นไดรเวอร์ของเรา) และเรียกใช้การจำลองแบบกระจายที่ซอฟต์แวร์สามารถส่งค่าลงใน testbench แล้วสังเกตผลลัพธ์ในภายหลัง . เคล็ดลับที่ฉันไม่สามารถทำได้กับอินพุตไฟล์ข้อความคือการโต้ตอบกับผลิตภัณฑ์สองส่วน ฉันต้องมีซอฟต์แวร์ "เขียน" ค่าลงในเครื่องจำลอง FPGA อ่านผลลัพธ์แล้วเขียนค่าใหม่ลงใน FPGA ซึ่งขึ้นอยู่กับผลลัพธ์ที่อ่าน ไฟล์ข้อความกำหนดให้อินพุตเป็นอิสระจากเอาต์พุต ฉันค้นหาทั้ง StackExchange และ google แล้ว แต่ฉันไม่สามารถหาชุดคำหลักเพื่อ จำกัด การค้นหาให้แคบลงพอที่จะระบุพฤติกรรมที่ฉันกำลังค้นหาหรือตรวจสอบว่าไม่มีอยู่จริง

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
ความแตกต่างระหว่าง RTL และพฤติกรรม verilog
มีคนบอกฉันว่าอะไรคือความแตกต่างระหว่าง RTL และโค้ด Verilog เชิงพฤติกรรม มีการแบ่งเขตที่ชัดเจนระหว่างการออกแบบในสองระดับนี้หรือไม่?

4
เมื่อใดจึงควรใช้ STD_LOGIC ผ่าน BIT ใน VHDL
อะไรคือความแตกต่างระหว่างการใช้: ENTITY MyDemo is PORT(X: IN STD_LOGIC; F: OUT STD_LOGIC ); END MyDemo; และ ENTITY MyDemo is PORT(X: IN BIT; F: OUT BIT ); END MyDemo; ข้อ จำกัด ของการใช้ BIT บน STD_LOGIC และในทางกลับกันคืออะไร พวกเขาสามารถแลกเปลี่ยนกันได้อย่างสมบูรณ์หรือไม่? ฉันเข้าใจว่าถ้าฉันกำหนด STD_LOGIC ฉันไม่สามารถใช้กับ BIT_Vector เพื่อเข้าถึงองค์ประกอบในอาร์เรย์ แต่ฉันไม่สามารถเห็นความแตกต่าง
10 vhdl 

2
ฟังก์ชันการคูณเมทริกซ์เวกเตอร์ใน VHDL นี้เป็นแบบขนานหรือไม่
ฉันมีฟังก์ชั่น VHDL ต่อไปนี้ที่คูณเมทริกซ์ mxn ที่กำหนดaโดยเวกเตอร์ nx1 b: function matrix_multiply_by_vector(a: integer_matrix; b: integer_vector; m: integer; n: integer) return integer_vector is variable c : integer_vector(m-1 downto 0) := (others => 0); begin for i in 0 to m-1 loop for j in 0 to n-1 loop c(i) := c(i) + (a(i,j) * …
9 fpga  vhdl  matrix 

3
กดแถวคีย์เดียวกันในเวลาเดียวกัน
ฉันกำลังออกแบบปุ่มกดใน VHDL ทุกอย่างทำงานได้ดีเมื่อกดปุ่มเพียงปุ่มเดียว ฉันกำลังสแกนแต่ละคอลัมน์เพื่อกดปุ่มในเครื่องสถานะและเมื่อไม่มีการกดปุ่มซึ่งเป็นเงื่อนไขที่pin4pin6pin7pin2 = "0000"ฉันสลับไปยังสถานะถัดไปเพื่อสแกนคอลัมน์ถัดไป ดังนั้นผมจึงตั้งคอลัมน์pin3pin1pin5ตามลำดับเพื่อ"001", และ"010""100" ในขณะที่การสแกนpin3pin1pin5เป็น"001"และถ้าpin4pin6pin7pin2เป็น"0100"แล้วก็ "9" ถูกกด ฉันประกาศใน VHDL pin4pin6pin7pin2เป็นอินพุตและpin3pin1pin5พอร์ตเอาต์พุต เมื่อฉันกด 6 และ 9 ในเวลาเดียวกันpin6และมีpin7 highปุ่มกดแรกจะถูกอ่านปุ่มที่สองจะถูกละเว้น เมื่อฉันกด 3 และ 7 ในเวลาเดียวกันคนแรกที่กดด้วยไม่กี่มิลลิวินาทีก่อนที่จะชนะและที่สำคัญคือการอ่านครั้งแรกที่สำคัญที่สองจะถูกละเว้นpin2และมีpin4high นี่คือส่วนที่ยุ่งยาก. เมื่อฉันกด 4 และ 6 ในเวลาเดียวกันฉันคาดว่าpin7จะเป็นhighแต่มันจะกลายเป็นlowและpin4pin6pin7pin2 = "0000"ซึ่งฉันไม่เข้าใจว่าทำไมและทำไม เนื่องจาก"0000"ตรวจพบว่าไม่มีการกดปุ่มใด ๆ เครื่องของรัฐจะกระโดดจากรัฐหนึ่งไปยังอีกรัฐหนึ่ง ในขณะที่ถือ 4 และ 6 หากผลักดันและใบ 4 หลายครั้งก็จะถูกตรวจพบว่าเป็น 6 กดหลายครั้งซึ่งเป็นปัญหาใหญ่ ฉันจะดีใจถ้าคุณสามารถช่วยฉันแก้ปัญหานี้! สิ่งเดียวกันเกิดขึ้นกับ "1" และ "2" …

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