Search Engine

Generate Statement

Add Question

113 Threads found on Generate Statement
To convert the "simplified" example into something meaningful, there should be a first process line like toLed<= "0000"; Reason: A combinational process should set the state of any affected signal in any conditional path and not generate latches. Signals working as state memory should be only set in clock edge sensitive processes.
I recommend to generate the PWM with the built in hardware I presume the latest code already does with statement pwm1_duty(). First step should be to remove the inappropriate inner while(1) loop. Secondly implement a toggle variable which changes between 1 and 0 on consecutive KEY_4 presses.
The signals have different type and aren't assignment compatible. You need to refer to the common base type, using a generate or loop statement. GEN1: FOR I IN 0 TO 3 generate buffer_n(I)<=buffer_7(0)(I); END generate;
Hello, I'm a beginner at VHDL. I couldn't find an answer to this online: What is the difference between using the for generate and for loop when performing signal assignments? EX: for i in 0 to 7 generate a(i) <= b(i); end generate; for i in 0 to 7 loop a(i) <= b(i); end loop; Thank you!
None of the answers seems to refer to the question "configured at the synthesis time between 3 optional frequencies". A generic won't generate actual logic or a multiplexer. The appropriate solution is to connect the clock inside a generate statement, or use different PLL parameter sets respectively alternative PLL instances. Using a mux (...)
I am using a generate statement to instantiate a module which is causing an unexplained increase in are after DC synthesis. I am using Verilog The first snippet of code gives me a certain area generate module_name instance name endgenerate I also get the same area if I don't use the generate (...)
I want to use the for loop inside generate statement to be infinite as shown below. But the problem is I cannot stop or quit the loop at some condition using "disable text". neither i am able to use keyword "break". It is showing an error: unexpected token: 'disable' unexpected token: ';' please help me by solving
I have a design which requires 32bit adders, I have made a 1bit full adder, and used generate statement in verilog to make it 32bit adder. Will grouping these 1bit adders together in Design Compiler help in optimization or should I just leave them as is? module fulladder(a,b,cin,sum,cout); input a,b,cin; output sum,cout; assign sum
I don't believe that this works. `define statement are read by a preprocessor which is unaware of generate statements. generate begin if(PARAM_A_PRESENT == 1) begin `define A_present end end endgenerate
A generate if can be used in this place, because the if condition is static, only depending on generate var i. Regular if statements can be only used inside a sequential block or function.
Hi all, can we use generate for loop inside a generate if loop which is outside of my always block, basically i want some instantiation using my for loop and here i had a register which i need to control using my if condition. that register will take a general value in my first for loop condition like i=0 and for remaining i values it will take v
genvar a; generate for(a=0;a<=7;a=a+1) //converting input data_in bits into bytes format begin : MEM assign data= data_in ; end endgenerate hi all, here i had one generate which is converting my bits into bytes of 8. is taking the conversion in gen
The generate statement is used along with for loop to instansiate an assign statements multiple times or to instansiate modules multiple times. But a for loop is capable of doing instansiation multiple times or to write assign statements multiple times with looping. So how does the generate (...)
Hi, I've noticed the "for...generate" statement need a "begin" but my designs work without it. What is the difference? Thanks.
You can easily create a generate for-loop for the outer for loop that creates 60 concurrent initial blocks, and use a counter to make the contents execute serially. Don't even need SystemVerilog genvar i; integer j, k; for(i=0;i<60;i=i+1) begin : static_loop; initial begin k = 0; @(checkData) wai
One: see on how to use a generate statement. Two: assign c=(u&c); is going to be highly useless and not at all what you think it does. Because see three. Three: What do you think the statement assign c=(u&c); is going to do? Or more properly, what kind of logi
Hi, I got the Loop exceeded maximum iteration limit. (ELAB-900) error in synopsys design vision. I am aware that it is not a proper usage of for in verilog. I am trying to generate a large combinational logic, that's way I need to use for loop in always@(*) statement. I was wondering if there is a way to increase the ma
You have conditional and selected signal assignments and generate loops in concurrent code.
parameter SIZE = 3; reg reg_name ; generate for (i=0; igenerate is it legal to have always block inside a "generate for" statement as shown above ? is this synthesizable ? what
Hi, I have the code below which as far I can work out should be connecting a number of components together in a chain, a bit like a ripple carry, but this for a comparator, with MSB first. Is the syntax correct because it does work, if I synthesize the code to see what circuit I get, it seems to create only one comp (LSB), as if its ignoring the