element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Software Application Development HDL sample time in Simulink for MiniZed
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 4 replies
  • Subscribers 310 subscribers
  • Views 485 views
  • Users 0 members are here
Related

HDL sample time in Simulink for MiniZed

100stefanoo
100stefanoo over 6 years ago

Hi all

I'm developing an acquisition and elaboration system using Simulink for the MiniZed.

Specifically acquisition from I2C peripheral (PMOD) and fixed point operations.

My problem:

using an oscilloscope i measured that each step of execution on the board occur every 1.3 microseconds.

I would like to increase this value (which is called "model sample time") but I can only achieve this for the simulation, not for when the code is running on the board.

I've opened a question also on the matlab forum:

https://www.mathworks.com/matlabcentral/answers/414117-how-to-set-stateflow-transition-time-for-hdl-generation

To that I would like to add that the issue is not just related to Stateflow transitions and physical ports.

I measured the same value using a simple counter block connected to an axi4-lite port.

What is the way to set the model sample time so that is compatible with HDL code generation?

  • Sign in to reply
  • Cancel

Top Replies

  • 100stefanoo
    100stefanoo over 6 years ago +1 verified
    guess I figured how to make the clock and the system get along. In the Workflow Advisor section 3.1.2 - Advanced Options the clock setting "Oversampling factor" could be set (from the default 64) to 1…
  • mbrown
    0 mbrown over 6 years ago

    The "execution" time in generated HDL code is dictated by the clock being used in the programmable logic (PL)..  The HDL timing is 100% deterministic and repeatable. However It is completely decoupled from Simulink simulation time.

    To model it in Simulink, I imagine you would need to create enabled subsystems that are enabled at your HDL clock frequency. MathWorks may have a more elegant/built-in method.

    /Matt

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • 100stefanoo
    0 100stefanoo over 6 years ago in reply to mbrown

    Thanks Matt that's exactly how I was thinking about the thing.

    For slow operations (miliseconds order) I managed to have a working implementation setting the Processor/FPGA synchronization to "Coprocessing - blocking", in this case the Simulink interface step is used.

    For the Stateflow transitions to drive physical ports (microseconds order) this workaround doesn't even get close.

    As you stated a more elegant (hopefully built-in) method would be welcome.

    Thanks again!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • 100stefanoo
    0 100stefanoo over 6 years ago

    guess I figured how to make the clock and the system get along.

    In the Workflow Advisor section 3.1.2 - Advanced Options the clock setting "Oversampling factor" could be set (from the default 64) to 1 and measure my SCL reach 50MHz.
    Then setting this factor to 500 my SCL runs at 100KHz.
     
    They call it Oversampling factor but it does quite the opposite... anyways... 
     
    Could you help me to unravel this last mistery: what clock is this referring to? sometimes I found references to a 50MHz clock some other times to a 100MHz clock.
     
    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • mbrown
    0 mbrown over 6 years ago

    We use an MMCM in the Zynq PL to divide a 100MHz clock down to 50MHz.

    The 50MHz clock is used for all logic created by HDL Coder.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube