Clock Edge notation

usenet_10@stanka-web.de (Thomas Stanka) wrote in message news:<ef424d2c.0411280650.2041b819@posting.google.com>...
am.imak@gmail.com (Mohammed khader) wrote:
If you intend to do then use nested rising edge if statements as
follows..
if(clk=1 and clk'Event)then
if(p=1 and p'Event)then
Q <=Q+1 ;
end if ;
end if ;

I don't believe, that this piece of code will synthesis correctly.
Never use two clocks in one process for synthesisable code.

bye Thomas
Yes, I am totally agree. I don't think this is going to work since you
are detecting both rising edge at the same time exactly.
 
Is there any way to define a procedure in a package that sets a signal?
A vhdl procedure is just an editing convenience.
It's processes that drive signals and run the show.

A testbench often has three processes:
a uut instance process
a clock/reset process with waits
and a main stimulus/watch process.

All of the testbench
processes communicate using signals declared
in the testbench architecture.

Here's an example of one way to script a
synchronous stimulus and watch process without waits:
http://groups.google.com/groups?q=oe_demo+script_t

But you might want to add processes for
external components or special watchers
or handshakers.

-- Mike Treseler
 
ALuPin a écrit:
Hi,

I have written a little .do-script with which
the VHDL files are compiled and the simulation is performed.

When I open Modelsim I have to go to
FILE --> CHANGE DIRECTORY and then I have to enter
the path of my simulation directory including my script.

How can I do this directory changing automatically at the beginning
of my script ? Is there any command ?
It stands to reason that you can't execute a script before telling
ModelSim where this script is.
The only way I can think of is to create a ModelSim project with a
default directory in which you'll put your scripts, work library...
When ModelSim starts it opens the last project automatically.

--
____ _ __ ___
| _ \_)/ _|/ _ \ Adresse de retour invalide: retirez le -
| | | | | (_| |_| | Invalid return address: remove the -
|_| |_|_|\__|\___/
 
Cor van Loos wrote:
For a very simple design I need to instantiate a lot of components. Only
two of the I/O signals of these components differ. Is there a smart way
to do this in VHDL or do I have to make a 100 copies to instatiate 100
components?
Instances will work, but consider using a FOR loop.

-- Mike Treseler
 
Mike Treseler wrote:
Cor van Loos wrote:
For a very simple design I need to instantiate a lot of components.
Only
two of the I/O signals of these components differ. Is there a smart
way
to do this in VHDL or do I have to make a 100 copies to instatiate
100
components?

Instances will work, but consider using a FOR loop.

-- Mike Treseler
Cor,
I'd use GENERATE:
-- instantiate basic_9x9 four times
generate_4_9x9:
FOR i IN 0 to 3 GENERATE
m0: basic_9x9 port map(data(i*2), data(i*2+1), rst_0, clk,
result_mult(i));
END GENERATE;

cristian
 
john wrote:

I used multiplexer but its not working for me. Please Advice me some
other techniques
Please read http://www.designabstraction.co.uk/HTML/articles.htm,
especally the part about unecesary levels of hierarchy and splitting
data- and control-path. Don't write your code as if you're wiring a
board full of standard logical components from the 7400 TTL family.

i am also attaching the code that What I did..
It is very hard to read, not only by the coding style. What editor did
you use? I see a lot of space characters with their MSB set (hex value
A0 in stead of 20).

One thing I noticed is that somewhere you assign NULL to a signal,
presumably to describe that the signal should not change. In that case,
just leave out the assignment all together.

Paul.
 
jesse_j wrote:
I'm getting the following error:
Unsupported Feature Error: non-locally-static attributes names are not
supported

I'm using the Max Plus II student software version 10.2
and trying to compile the following code:
My guess: you're using 'event on two different signals (clock_100khz and
clock_10khz) in one process. That is not synthesizable.

Paul.
 
Well, I should develop a serial port interface.
I have to receive one block of (32+32+3)bit, and after 1ms I have to
send one block of 32bit. I work with spartanII board.


Do anyone can help me?

regard
Roberto
 
Works OK in simulation, but quartus synthesize
this as a simple OR on the next N1_max StopNextCells
positions which is not the intended behaviour.
Synthesis will delete any logic not affected
by the top entity inputs.
What is driving IsSigCell?

-- Mike Treseler
 
Peter Ashenden wrote:
Folks,

The IEEE VHDL Working Group is considering a proposal to add vector types to
the package STANDARD in the next revision of the language. We would like
your feedback on the issue.

Currently, package STANDARD defines types STRING as a vector of CHARACTER
elements, and BIT_VECTOR as a vector of BIT elements. The proposal is to
define vector types for BOOLEAN, INTEGER, REAL and TIME. Users have
commented that these types would be useful for verification models, among
other applications.
Is this just a matter of convenience or does it really add something
that whould not be possible without it? Is suppose an array (vector) of
an unconstrained type will still not be possible.

Paul.
 
"Paul Uiterlinden" <no@spam.nl> wrote in message
news:cprfbk$ot3$1@voyager.news.surf.net...
Peter Ashenden wrote:
Folks,

The IEEE VHDL Working Group is considering a proposal to add vector
types to
the package STANDARD in the next revision of the language. We would
like
your feedback on the issue.

Currently, package STANDARD defines types STRING as a vector of
CHARACTER
elements, and BIT_VECTOR as a vector of BIT elements. The proposal is
to
define vector types for BOOLEAN, INTEGER, REAL and TIME. Users have
commented that these types would be useful for verification models,
among
other applications.

Is this just a matter of convenience or does it really add something
that whould not be possible without it? Is suppose an array (vector) of
an unconstrained type will still not be possible.

Paul.
 
dcreddy1980 wrote:
I dont know where i went wrong in the following code,when i simulate the
code...i am getting RWD <= "UUUUUU"in the waveform results....
I would expect it to be XXXX.

UUT : SRAM port map(CADDR,RADDR,RWD,BNKSEL,RDCAS,WRCAS,DTRDY);

CADDR <= "0010010";
RADDR <= "0010";
RWD <= "0001000100010001";
BNKSEL <= '0','1' after 8 ns,'0' after 16 ns,'1' after 24 ns,'0' after 30
ns;
RDCAS <= '0','1' after 26 ns,'0' after 34 ns;
WRCAS <= '0','1' after 10 ns,'0' after 18 ns;

end tb;

is there any correction in my testbench???if so,can u plz rectify my
mistake....
RWD is an inout, so in the testbench if you want to read a value from
the RAM, you should set RWD hi-Z: RWD <= (OTHERS => 'Z');

The same goes for your RAM: it should drive RWD hi-Z if it is not being
read.

Paul.
 
Hello,
I have the same problem. ALuPin, if you have your definitive vhdl code for
the SRAM. Please leave it here or if someone has something similar to use a
SRAM bidirectional bus...
Thanks
 
Hello,
If have the same problem. Alupin, if you have your definitive design
please leave it here. Or if someone has somethind silmilar to control
bidirectional port for SRAM...
Thanks
 
David,

I am working with the current FPHDL packages from the fast track in
synopsys. Do you still have a version specific for synopsys? (i.e.
with real functions commented out)

Thanks and Happy Holidays,

Ivan
 
icorretj@gmail.com wrote:
David,

I am working with the current FPHDL packages from the fast track in
synopsys. Do you still have a version specific for synopsys? (i.e.
with real functions commented out)

Thanks and Happy Holidays,
For Synopsys you need to use the Presto VHDL compiler. This is an
option you can turn on with the latest version. I did find some
synthesis errors with the beta release, I have not yet tried the
latest release.

I tried it under the old compiler, and when I reported the errors
to Synopsys they said to use the Presto compiler.
 
john wrote:

But instead of getting this value I am getting garbage or other written
values. I am using
atmel prochip software so I do not have good simulator, so I am doing
alltesting on my hardware....
This sort of problem is best solved by simulation.
Consider the free version of sonata.

-- Mike Treseler
 
Is this VHDL ,I dont think so.lol
Now go away and never come b ack in this forum.
 
First of all the way the FSM is written is not correct.
You have to include the databus signal also in the sensitivity list
else you'll end up with latches.
You have not assigned to temp in other states which will also lead to
latches.
There is no initialization for your code, resulting in no initial state
in which to start, your default state A0 dosent exist.
After, all the above corrections, the better way would be to assign to
address and data explicitly in every state. then it should certainly
work.
 

Welcome to EDABoard.com

Sponsor

Back
Top