what the function MAKE_BINARY does in VHDL ? What its puprose?
Noa C. wrote: > what the function MAKE_BINARY does in VHDL ? Simply have a look in the source of the std_logic_arith package: https://www.csee.umbc.edu/portal/help/VHDL/packages/std_logic_arith_syn.vhd
1 | -- synopsys synthesis_off
|
2 | type tbl_type is array (STD_ULOGIC) of STD_ULOGIC; |
3 | constant tbl_BINARY : tbl_type := |
4 | ('X', 'X', '0', '1', 'X', 'X', '0', '1', 'X'); |
5 | -- synopsys synthesis_on
|
6 | |
7 | function MAKE_BINARY(A : STD_ULOGIC) return STD_ULOGIC is |
8 | -- synopsys built_in SYN_FEED_THRU
|
9 | begin
|
10 | -- synopsys synthesis_off
|
11 | if (IS_X(A)) then |
12 | assert false |
13 | report "There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)." |
14 | severity warning; |
15 | return ('X'); |
16 | end if; |
17 | return tbl_BINARY(A); |
18 | -- synopsys synthesis_on
|
19 | end; |
> What its puprose?
It takes the input vector and makes a '1' out of a '1' or a 'H", and it
makes a '0' out of a '0' and a 'L', all the rest will be changed to 'X'.
BTW: I recoomend NOT to use the old Synopsys std_logic_arith libs. Use
the numeric_std instead. It has all you will need.
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.