Quartus Prime Verilog error Node "X" is missing source

OP #7301766
Rate this post
• ▲ useful
▼ not useful

Dear all,

I have a newbie question on Verilog. I am using Quartus Prime (Lite Edition) to write some Verilog code for my Arduino MKRVIDOR 4000 (Arduino board with FPGA); my goal is to get communication between the CPU and FPGA working using Florian Zachs's JTAG interface (https://github.com/HerrNamenlos123/JTAG_Interface). I use a standard MKRVIDOR4000_top.v template (containing all the definitions of the I/O signals etc.) that includes user.v that has my own code. The template is attached for reference but the error is in the code below.

What I can't get to synthesize, for reasons I don't understand, is to change behaviour of an input-output mapping between two digital pins shared between the CPU and FPGA based on the contents of a register that can be written to using the JTAG interface. Either the FPGA copies the digital signal it receives on D5 to D6, or it inverts the signal. I want to change this behaviour using a command issued via JTAG.

This is my code:

1
// define register used to communicate from microcontroller to FPGA using JTAG interface
2
reg [31:0] COMMAND;
3

4
// 1-bit registers
5
reg spike_in;
6
reg spike_out;
7
reg state_var;
8

9
// wOSC_CLK is the clock input signal used by the JTAG interface
10
JTAG_Interface  b2v_inst1(
11
 .iCLK(wOSC_CLK),
12
 .iREAD_0(COMMAND)
13
 );
14

15
// either copy or negate input pin D[5] to output pin D[6]
16
always @(posedge wOSC_CLK) 
17
begin
18
 spike_in <= bMKR_D[5];
19
 spike_out <= (state_var == 1'b1) ? spike_in : ~spike_in;
20
 bMKR_D[6] <= spike_out;
21
end
22
  
23
// react on JTAG change of COMMAND register (only msb is relevant)
24
always @(COMMAND) 
25
begin
26
 state_var <= COMMAND[31];
27
end

Quartus doesn't accept this code, complaining "12009 Node "spike_out" is missing source". I don't understand why this is the case, although I assume that the conditional assignment to spike_out is to blame, because the circuit synthesizes when I make this unconditional on state_var. I hope someone can enlighten me why this is the case and how the desired behaviour could be achieved.

Attached files:

Reply

Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.

Formatting
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.