Simulating PSoC UDBs in ModelSim

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable
        For all those interested in simulating the UDBs: - Download the student edition or a trial version of Model Sim, and follow the step-by-step guide in the attached zip. - All the simulation files you need are also provided in the same zip The designs/testbench files have been created for 3 designs: 1. A custom 16-bit dualPWM implemented in 2 UDBs 2. An 8-bit Datapath Counter 3. A PLD Counter Please let me know if you have any feedback. Have fun! Antonio   
0 Likes
7 Replies
Anonymous
Not applicable

Another good tool.

0 Likes
Anonymous
Not applicable

 Thanks!

   

Please let me know if you have a chance to try it out.

   

Antonio

0 Likes
mattl_01
Employee
Employee
100 replies posted 50 replies posted 25 replies posted

Just wondering if anyone outside of Cypress has used this flow.

   

 

   

Thanks,

   

--Matt

0 Likes
Anonymous
Not applicable
        Can you update this with a procedure for simulating with open source tools (ie. Icarus + jVerilog or some other tools)?   
I'm not a student so I can't use the student edition and the purchse price of the (non-vendor specific) ModelSim PE appears to be very high.   
0 Likes
Anonymous
Not applicable

Is ther any proteus simulation library file for PSoC C8CKIT-049-42xx.

   

if there it is, post the link.

0 Likes
Anonymous
Not applicable

Good stuff. I am in the process of setting up a test bench for my project.

   

Is this the most recent version of the model? I noticed that the clo chaining signal seems gotten reversed for the disabled state (4'b1111 -> 4'b1101 at lines 548/550).

   

Incidentally are there any tips for settling down undefined states? I've got a couple of spots where I don't particularly care about an initial 0/1, yet in simulation the 'X's tend to propagate back through the control path. Or perhaps that should serve as a warning sign to a HDL newbie to take care with resets, even at the cost of additional gates.

0 Likes
Anonymous
Not applicable

Poking about a bit further I believe shift-right output on line 685 should be alu_out[0] and not s_r_input[0]. Otherwise the post-shift LSB is gets carried out instead of the input one.

   

The fifo[01]_blk_extra/block reset to 0 at line 753 in input mode seem incorrect, where they would induce a phantom read. At least the I was unable to induce a glitch by clearing the FIFO via ACTL, which the TRM documents as being interlocked with the reset. The bulk of the output registers, along with the aforementioned FIFO clear, also seem to have been omitted from the reset circuit.

   

I apologize for nitpicking and realize this isn't exactly an officially supported product but the precise semantics of the datapaths are quite difficult for me to grasp and reason about, and so an accurate simulation model would be an invaluable aid in development.

0 Likes