From: FP on
I have the following scenario in verilog which i need to convert to
vhdl

always
if reset
..
..
..
else
case
.
.
.
end case
// set default values
case.
.
.
.
.
end case
end

How do I convert this to vhdl. I am lost on what the equivalent of //
set default values and the case statements after that would be in
VHDL.
From: jens on
Check out the VHDL Language Reference Guide.

on-line version: http://staffwww.itn.liu.se/~andki/vhdl_refguide/

Windows help version: http://www.iol.ie/~dmurray/Prism/vhdlhlp.zip
From: Dave Pollum on
On Apr 11, 1:08 pm, FP <FPGA.unkn...(a)gmail.com> wrote:
> I have the following scenario in verilog which i need to convert to
> vhdl
>
> always
> if reset
> .
> .
> .
> else
> case
> .
> .
> .
> end case
> // set default values
> case.
> .
> .
> .
> .
> end case
> end
>
> How do I convert this to vhdl. I am lost on what the equivalent of //
> set default values and the case statements after that would be in
> VHDL.

I'm not a Verilog person, but I do have a book that shows both VHDL
and Verilog code ("HDL Chip Design", by Douglas J. Smiths). The book
shows that "//" is a Verilog comment. So, "// set default values" is
a comment. The Verilog "default" is the same as the VHDL "when others
=>". "always@ .. end" is the same as a VHDL "process .. end
process". In your case (no pun intended), it's a combinatorial
process.
HTH
-Dave Pollum
From: Andy on
On Apr 11, 2:17 pm, Dave Pollum <vze24...(a)verizon.net> wrote:
> On Apr 11, 1:08 pm, FP <FPGA.unkn...(a)gmail.com> wrote:
>
>
>
> > I have the following scenario in verilog which i need to convert to
> > vhdl
>
> > always
> > if reset
> > .
> > .
> > .
> > else
> > case
> > .
> > .
> > .
> > end case
> > // set default values
> > case.
> > .
> > .
> > .
> > .
> > end case
> > end
>
> > How do I convert this to vhdl. I am lost on what the equivalent of //
> > set default values and the case statements after that would be in
> > VHDL.
>
> I'm not a Verilog person, but I do have a book that shows both VHDL
> and Verilog code ("HDL Chip Design", by Douglas J. Smiths). The book
> shows that "//" is a Verilog comment. So, "// set default values" is
> a comment. The Verilog "default" is the same as the VHDL "when others
> =>". "always@ .. end" is the same as a VHDL "process .. end
> process". In your case (no pun intended), it's a combinatorial
> process.
> HTH
> -Dave Pollum

The presence of "if reset" could imply that this is a clocked process,
not combinatorial. We can't tell because the "always" statement is not
included, and we cannot tell if the block is also sensitive to posedge
clock.

Andy
From: FP on
On Apr 11, 5:18 pm, Andy <jonesa...(a)comcast.net> wrote:
> On Apr 11, 2:17 pm, Dave Pollum <vze24...(a)verizon.net> wrote:
>
>
>
>
>
> > On Apr 11, 1:08 pm, FP <FPGA.unkn...(a)gmail.com> wrote:
>
> > > I have the following scenario in verilog which i need to convert to
> > > vhdl
>
> > > always
> > > if reset
> > > .
> > > .
> > > .
> > > else
> > >   case
> > >   .
> > >   .
> > >   .
> > >  end case
> > >  // set default values
> > >  case.
> > >  .
> > >  .
> > >  .
> > >  .
> > > end case
> > > end
>
> > > How do I convert this to vhdl. I am lost on what the equivalent of  //
> > > set default values and the case statements after that would be in
> > > VHDL.
>
> > I'm not a Verilog person, but I do have a book that shows both VHDL
> > and Verilog code ("HDL Chip Design", by Douglas J. Smiths).  The book
> > shows that "//" is a Verilog comment.  So, "// set default values" is
> > a comment.  The Verilog "default" is the same as the VHDL "when others
> > =>".  "always@ .. end" is the same as a VHDL "process .. end
> > process".  In your case (no pun intended), it's a combinatorial
> > process.
> > HTH
> > -Dave Pollum
>
> The presence of "if reset" could imply that this is a clocked process,
> not combinatorial. We can't tell because the "always" statement is not
> included, and we cannot tell if the block is also sensitive to posedge
> clock.
>
> Andy- Hide quoted text -
>
> - Show quoted text -

I have 2 case statement in 1 always loop in my verilog file. I am not
sure how this should be implemented in VHDL. I am aware of the syntax.
From design point of view I am not sure if I should be putting them in
2 seperate process statements.

Verilog =>

always @ posedge clk
c1 : case(cmd) is
when a => bunch of statements
when b => bunch of statements
when c => bunch of statements
when d => bunch of statements
default => bunch of statements
end case c1

c2 : case(cmd) is
when a => bunch of statements
when b => bunch of statements
when c => bunch of statements
when d => bunch of statements
default => bunch of statements
end case c2

end

My question is
1) Is the VHDL equivalent of the above, 2 case statements in one
process or 2 different processes with 1 case each? The problem with 2
processes I am facing is access of varaibles.
2) The above is similar to an FSM. One case statement is executing the
present command, while the other is completing the last command. Any
idea on how this should be converted to VHDL?

 |  Next  |  Last
Pages: 1 2
Prev: Space - Xilinx Frontier?
Next: ISE 9.2 and Windriver