@@ -81,29 +81,36 @@ export function variableValue(style: DisplayStyle, variable: Variable, value: bi
8181        if  ( radix  ===  undefined )  { 
8282            radix  =  globalVariableOptions . get ( variable . cxxrtlIdentifier ) . radix  ??  10 ; 
8383        } 
84+         let  stringValue ; 
85+         switch  ( radix )  { 
86+             case  2 :  stringValue  =  value . toString ( 2 )  . padStart ( variable . width  /  1 ,  '0' ) ; 
87+             case  8 :  stringValue  =  value . toString ( 8 )  . padStart ( variable . width  /  3 ,  '0' ) ; 
88+             case  10 : stringValue  =  value . toString ( 10 ) ; 
89+             case  16 : stringValue  =  value . toString ( 16 ) . padStart ( variable . width  /  4 ,  '0' ) ; 
90+         } 
8491        switch  ( style )  { 
8592            case  DisplayStyle . Python :
8693                switch  ( radix )  { 
87-                     case  2 :  return  `0b${ value . toString ( 2 ) }  ; 
88-                     case  8 :  return  `0o${ value . toString ( 8 ) }  ; 
89-                     case  10 : return       value . toString ( 10 ) ; 
90-                     case  16 : return  `0x${ value . toString ( 16 ) }  ; 
94+                     case  2 :  return  `0b${ stringValue }  ; 
95+                     case  8 :  return  `0o${ stringValue }  ; 
96+                     case  10 : return       stringValue ; 
97+                     case  16 : return  `0x${ stringValue }  ; 
9198                } 
9299
93100            case  DisplayStyle . Verilog :
94101                switch  ( radix )  { 
95-                     case  2 :  return  `${ variable . width } ${ value . toString ( 2 ) }  ; 
96-                     case  8 :  return  `${ variable . width } ${ value . toString ( 8 ) }  ; 
97-                     case  10 : return  `${ variable . width } ${ value . toString ( 10 ) }  ; 
98-                     case  16 : return  `${ variable . width } ${ value . toString ( 16 ) }  ; 
102+                     case  2 :  return  `${ variable . width } ${ stringValue }  ; 
103+                     case  8 :  return  `${ variable . width } ${ stringValue }  ; 
104+                     case  10 : return  `${ variable . width } ${ stringValue }  ; 
105+                     case  16 : return  `${ variable . width } ${ stringValue }  ; 
99106                } 
100107
101108            case  DisplayStyle . VHDL :
102109                switch  ( radix )  { 
103-                     case  2 :  return  `B"${ value . toString ( 2 ) }  ; 
104-                     case  8 :  return  `O"${ value . toString ( 8 ) }  ; 
105-                     case  10 : return       value . toString ( 10 ) ; 
106-                     case  16 : return  `X"${ value . toString ( 16 ) }  ; 
110+                     case  2 :  return  `B"${ stringValue }  ; 
111+                     case  8 :  return  `O"${ stringValue }  ; 
112+                     case  10 : return       stringValue ; 
113+                     case  16 : return  `X"${ stringValue }  ; 
107114                } 
108115        } 
109116    } 
0 commit comments