J
Joseph H Allen
Guest
Do any of the vendors provide a way to use the global reset net, but avoid
having to tie it to a pin. In other words:
module top
(
in,
q
);
wire clk;
wire reset_l;
internal_clock_generator osc (.clk(clk)); // Some chips have this
internal_reset_generator rst (.reset_l (reset_l)); // None have this I think
always @(posedge clk or negedge reset_l)
if (!reset_l)
q <= 1; // Initial state is 1, not 0!
else
q <= in;
The answer used to be no, but maybe things have changed..
Yes, I know the global reset will reset everything anyway, but you need a
reset net for the synthesizer to infer the initial state. If you tie the
reset net to a constant, it gets optimized out.
Yes, I also know that the vendors provide ways of triggering the global
reset net from a pin by connecting it to the 'GSR' module.
I guess one way it make a black box hard macro which does nothing and tie it
to the fake reset net.
--
/* jhallen@world.std.com AB1GO */ /* Joseph H. Allen */
int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--q=3&(r=time(0)
+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0%79-77?1:0<1659?79:0>158?-79:0,q?!a[p+q*2
]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}
having to tie it to a pin. In other words:
module top
(
in,
q
);
wire clk;
wire reset_l;
internal_clock_generator osc (.clk(clk)); // Some chips have this
internal_reset_generator rst (.reset_l (reset_l)); // None have this I think
always @(posedge clk or negedge reset_l)
if (!reset_l)
q <= 1; // Initial state is 1, not 0!
else
q <= in;
The answer used to be no, but maybe things have changed..
Yes, I know the global reset will reset everything anyway, but you need a
reset net for the synthesizer to infer the initial state. If you tie the
reset net to a constant, it gets optimized out.
Yes, I also know that the vendors provide ways of triggering the global
reset net from a pin by connecting it to the 'GSR' module.
I guess one way it make a black box hard macro which does nothing and tie it
to the fake reset net.
--
/* jhallen@world.std.com AB1GO */ /* Joseph H. Allen */
int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--q=3&(r=time(0)
+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0%79-77?1:0<1659?79:0>158?-79:0,q?!a[p+q*2
]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}