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

6
โปรโตคอลการ จำกัด / การซิงโครไนซ์เทคนิคแบบอนุกรม
เนื่องจากการสื่อสารแบบซีเรียลแบบอะซิงโครนัสแพร่กระจายอย่างกว้างขวางในอุปกรณ์อิเล็กทรอนิกส์ทุกวันนี้ฉันเชื่อว่าพวกเราหลายคนได้พบคำถามเช่นนี้เป็นครั้งคราว พิจารณาอุปกรณ์อิเล็กทรอนิกส์Dและคอมพิวเตอร์PCที่เชื่อมต่อกับสายอนุกรม (RS-232 หรือคล้ายกัน) และจำเป็นต้องมีการแลกเปลี่ยนข้อมูลอย่างต่อเนื่อง Ie PCกำลังส่งเฟรมคำสั่งแต่ละเฟรมX msและDกำลังตอบกลับด้วยรายงานสถานะ / เฟรม telemetry แต่ละรายการY ms(สามารถส่งรายงานเป็นการตอบสนองต่อคำขอหรือเป็นอิสระ - ไม่สำคัญเลยที่นี่) กรอบการสื่อสารสามารถมีข้อมูลไบนารีใด ๆ โดยพลการ สมมติว่าเฟรมการสื่อสารเป็นแพ็กเก็ตที่มีความยาวคงที่ ปัญหา: เนื่องจากโปรโตคอลมีความต่อเนื่องด้านการรับอาจหลุดการซิงโครไนซ์หรือเพียงแค่ "เข้าร่วม" ที่อยู่ตรงกลางของเฟรมที่ส่งต่อเนื่องดังนั้นมันจะไม่รู้ว่าจุดเริ่มต้นของเฟรม (SOF) นั้นอยู่ที่ไหน ข้อมูลมีความหมายที่แตกต่างกันไปตามตำแหน่งของ SOF ข้อมูลที่ได้รับจะเสียหายและอาจเกิดขึ้นตลอดไป ทางออกที่ต้องการ รูปแบบการลด / ประสานที่เชื่อถือได้ในการตรวจจับ SOF ด้วยเวลาการกู้คืนสั้น ๆ (เช่นไม่ควรใช้เวลามากกว่านั้นพูด 1 เฟรมเพื่อซิงโครไนซ์อีกครั้ง) เทคนิคที่มีอยู่ฉันรู้ (และใช้บางส่วน) ของ: 1) ส่วนหัว / การตรวจสอบ - SOF เป็นค่าไบต์ที่กำหนดไว้ล่วงหน้า ตรวจสอบผลรวมในตอนท้ายของเฟรม จุดเด่น:เรียบง่าย …
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

1
ฉันจะดีบักสัญญาณสีแดงใน ModelSIM ได้อย่างไร
ฉันต้องออกแบบเครื่องสถานะโดยใช้เพียงประตู NAND สำหรับส่วน combinatorial และ D flip flops สำหรับตรรกะตามลำดับ ทุกอย่างควรทำงานด้วยนาฬิกา 1 กิกะเฮิร์ตซ์ / 53 ตอนนี้ก่อนที่คุณจะทำร้ายฉันด้วย "เราจะไม่ทำการบ้านให้คุณ" ให้ฉันบอกคุณว่าฉันทิ้งทุกอย่างหลังจากการทำงานมาหลายวันและเริ่มทำทุกอย่างอย่างจริงจังมากขึ้น ฉันต้องการทำสิ่งนี้ด้วยตัวเอง แต่ฉันได้รับสัญญาณที่ไม่ได้กำหนดแบบสุ่มตลอดเวลาในส่วนที่ง่ายที่สุดของโครงการและมันน่าหงุดหงิด ตกลงก่อนอื่นเลยฉันมีกลไกสถานะและตารางความจริงที่ฉันทำเพื่อมันในภาพต่อไปนี้: สิ่งต่อไปคือ kmaps: ตั้งแต่ D flip flops D = Q + การเดินสายของตรรกะ combinatorial (เมื่อฉันสร้างมันเป็นบล็อกที่เรียบง่าย) ไม่ควรยากเกินไป แต่ปัญหาแรกของฉันเกิดขึ้นในม้านั่งทดสอบสำหรับ Q3 + ขอผมใส่ที่นี่เพื่อทำให้ข้อมูลง่ายขึ้นด้วยแผนภาพที่รวดเร็วที่ผมรวบรวมไว้สำหรับ Q3 +: ต่อมาในโพสต์คุณจะเห็นว่าใน VHDL จริง ๆ แล้วฉันตั้งชื่ออินพุตใน 1Q3plus ถึง in11Q3plus (11 อินพุต) …

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