Forum Discussion
Altera_Forum
Honored Contributor
10 years ago --- Quote Start --- Let me see if I understand your flow: VHDL Block A --> signed 16 bit input to NIOS --> Calculation in NIOS --> signed 16 bit output from NIOS --> VHDL Block B In this flow, the "Calculation in NIOS" is your bottleneck, especially since it seems to be floating point. Why not do: VHDL Block A --> VHDL Calculation Block --> VHDL Block B Say, you don't want to do this... Looking at your C code you use floating point to calculate data_new. Then you do a logic operation on it (& 0x2000). This might be the source of error. You should convert from float to hex before your do bit manipulations. Also, you may not even have to use floating point... --- Quote End --- Thanks Krasner for your reply, much appreciated... VHDL Block A --> signed 16 bit input to NIOS --> Calculation in NIOS --> signed 16 bit output from NIOS --> VHDL Block B Yes, you are right, this flow is what I intend to do Regarding your second question, the calculation has to be done in NIios, I think I posted the same time as you, could you please see # 4, after taking your advice in# 3, I didn't use any floating point to calculate data_new. For your information, just a trial, I also try by directly reading data from vhdl block a, then without doing any calculation, then write directly to vhdl block b, still it is not producing a sine wave to vhdl block b...if I feed directly from vhdl block a to vhdl block b, I can see a sine wave sent to vhdl block b