- Single Port RAM
- Simple Dual Port RAM
- Dual Port RAM
Block comptibility check failed
11 views (last 30 days)
Show older comments
Hello, I'm now using HDL coder to generate VHDL code from my model named simple_timer_model. And then program it to the target device(Xilinx Zedboard). I encontered some errors and warnings in the stage 2.3 check Block Comatibility of HDL workflow adviser. Here is the list of the Warnings:
DL Code Generation Check Report for simple_timer_model/CPU Timer 0 Generated on 2014-02-21 10:37:05 The following table describes blocks for which errors, warnings or messages were reported.
Simulink Block Level Description simple_timer_model/CPU Timer 0/Triggered Subsystem1/Trigger Error'Output port 'Out1' must have an initial value of 0 for HDL code generation.
simple_timer_model/CPU Timer 0/Triggered Subsystem2/Trigger Error'Output port 'Out1' must have an initial value of 0 for HDL code generation.
simple_timer_model/CPU Timer 0/Triggered Subsystem4/Trigger Error'Output port 'Out1' must have an initial value of 0 for HDL code generation.
simple_timer_model/CPU Timer 0/CPU-Timer 0, Control Register Read WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/CPU-Timer 0, Control Register Read'.
simple_timer_model/CPU Timer 0/CPU-Timer 0, Control Register Read TRB(5:5) WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/CPU-Timer 0, Control Register Read TRB(5:5)'.
simple_timer_model/CPU Timer 0/CPU-Timer 0, Control Register Read1 WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/CPU-Timer 0, Control Register Read1'.
simple_timer_model/CPU Timer 0/CPU-Timer 0, Control Register Write1 WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/CPU-Timer 0, Control Register Write1'.
simple_timer_model/CPU Timer 0/CPU-Timer 0, Period Register Read WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/CPU-Timer 0, Period Register Read'.
simple_timer_model/CPU Timer 0/CPU-Timer 0, Prescale Register Read WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/CPU-Timer 0, Prescale Register Read'.
simple_timer_model/CPU Timer 0/CPU-Timer 0, Prescale Register Read1 WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/CPU-Timer 0, Prescale Register Read1'.
simple_timer_model/CPU Timer 0/Data Store Read WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/Data Store Read'.
simple_timer_model/CPU Timer 0/Data Store Write WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/Data Store Write'.
simple_timer_model/CPU Timer 0/Data Store Write1 WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/Data Store Write1'.
simple_timer_model/CPU Timer 0/TIMER0PRD WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/TIMER0PRD'.
simple_timer_model/CPU Timer 0/TIMER0TCR WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/TIMER0TCR'.
simple_timer_model/CPU Timer 0/TIMER0TIM WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/TIMER0TIM'.
simple_timer_model/CPU Timer 0/TIMER0TPR WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/TIMER0TPR'.
simple_timer_model/CPU Timer 0/Triggered Subsystem/IC1 WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/Triggered Subsystem/IC1'.
simple_timer_model/CPU Timer 0/Triggered Subsystem1/IC WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/Triggered Subsystem1/IC'.
simple_timer_model/CPU Timer 0/Triggered Subsystem2/IC WarningCannot find the implementation for block 'simple_timer_model/CPU Timer 0/Triggered Subsystem2/IC'.
I use the block memory the simulate the behavior of 4 registers in the Timer module, and in the Triggerd subsystem block( with which I use to triger the signal transaction with a unity delay by pulse signal), I have configured the parameter 'InitialOutput' of block 'Out1' to [0], and the error still exist.
Please help me to debug my system design.
0 Comments
Accepted Answer
Tim McBrayer
on 21 Feb 2014
Edited: Tim McBrayer
on 21 Feb 2014
For the triggered subsystem initial values: set the initial port value to 0, not [0]. You don't mention what version of MATLAB you are using, but this was an issue at one point in time. Current releases support the syntax you are using.
For the Data Store Memory issues: the Data Store Memory is not supported by HDL Coder. You can generate a library of all blocks supported by your installation of HDL Coder with the hdllib command. The complete list of supported blocks is in the documentation.
A hardware-friendly implementation for memory is available through the RAM blocks that ship with HDL Coder. There are three RAM variations included with the product. They are:
Each implementation has a different interface. They can be found in the library created with hdllib, in the "HDL Demo Library" category. You can also open the HDL Demo Library directly with the command hdldemolib.
With only four storage locations, you can also consider using a Unit Delay for each of your four registers.
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!