mirror of https://github.com/zachjs/sv2v.git
replace integer unsigned with size-32 reg
This commit is contained in:
parent
36fcce8934
commit
d2a18e01f2
|
|
@ -24,4 +24,6 @@ convertType :: Type -> Type
|
||||||
convertType (Implicit Unsigned rs) = Implicit Unspecified rs
|
convertType (Implicit Unsigned rs) = Implicit Unspecified rs
|
||||||
convertType (IntegerVector t Unsigned rs) = IntegerVector t Unspecified rs
|
convertType (IntegerVector t Unsigned rs) = IntegerVector t Unspecified rs
|
||||||
convertType (Net t Unsigned rs) = Net t Unspecified rs
|
convertType (Net t Unsigned rs) = Net t Unspecified rs
|
||||||
|
convertType (IntegerAtom TInteger Unsigned) =
|
||||||
|
IntegerVector TReg Unspecified [(RawNum 31, RawNum 0)]
|
||||||
convertType other = other
|
convertType other = other
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
`define MAKE_PRIM(typ, base, size) \
|
`define MAKE_PRIM(typ, base, size) \
|
||||||
base [size-1:0] typ``_unspecified = 1; \
|
base [size-1:0] typ``_unspecified = 1; \
|
||||||
base unsigned [size-1:0] typ``_unsigned = 1; \
|
base [size-1:0] typ``_unsigned = 1; \
|
||||||
base signed [size-1:0] typ``_signed = 1;
|
base signed [size-1:0] typ``_signed = 1;
|
||||||
|
|
||||||
module top;
|
module top;
|
||||||
|
|
@ -18,8 +18,8 @@ module top;
|
||||||
`MAKE_PRIM(shortint, reg, 16)
|
`MAKE_PRIM(shortint, reg, 16)
|
||||||
`MAKE_PRIM(int, reg, 32)
|
`MAKE_PRIM(int, reg, 32)
|
||||||
integer integer_unspecified = 1;
|
integer integer_unspecified = 1;
|
||||||
integer unsigned integer_unsigned = 1;
|
reg [31:0] integer_unsigned = 1;
|
||||||
integer signed integer_signed = 1;
|
integer integer_signed = 1;
|
||||||
`MAKE_PRIM(longint, reg, 64)
|
`MAKE_PRIM(longint, reg, 64)
|
||||||
|
|
||||||
`MAKE_PRIM(bit, wire, 1)
|
`MAKE_PRIM(bit, wire, 1)
|
||||||
|
|
|
||||||
|
|
@ -54,8 +54,8 @@ assertConverts() {
|
||||||
assertTrue "2nd conversion of $ac_file failed" $?
|
assertTrue "2nd conversion of $ac_file failed" $?
|
||||||
diff $ac_tmpa $ac_tmpb > /dev/null
|
diff $ac_tmpa $ac_tmpb > /dev/null
|
||||||
assertTrue "conversion of $ac_file not stable after the first iteration" $?
|
assertTrue "conversion of $ac_file not stable after the first iteration" $?
|
||||||
# using sed to remove quoted strings and integer unsigned
|
# using sed to remove quoted strings
|
||||||
filtered=`sed -E -e 's/"([^"]|\")+"//g' -e 's/integer unsigned/integer/g' $ac_tmpa`
|
filtered=`sed -E 's/"([^"]|\")+"//g' $ac_tmpa`
|
||||||
# check for various things iverilog accepts which we don't want to output
|
# check for various things iverilog accepts which we don't want to output
|
||||||
prefix="conversion of $ac_file still contains"
|
prefix="conversion of $ac_file still contains"
|
||||||
assertNotMatch "$filtered" "$prefix dimension queries" \
|
assertNotMatch "$filtered" "$prefix dimension queries" \
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue