@@ -247,8 +247,11 @@ namespace Yosys {
247247
248248} ;
249249
250- type Options = {
250+ type ConvertOptions = {
251251 propagation ?: number ,
252+ } ;
253+
254+ type Options = ConvertOptions & {
252255 optimize ?: boolean ,
253256 fsmexpand ?: boolean ,
254257 fsm ?: boolean | "nomap" ,
@@ -390,15 +393,15 @@ function parse_source_positions(str: string): Digitaljs.SourcePosition[] {
390393 return ret ;
391394}
392395
393- function yosys_to_digitaljs ( data : Yosys . Output , portmaps : Portmaps , options : Options = { } ) : { [ key : string ] : Digitaljs . Module } {
396+ function yosys_to_digitaljs ( data : Yosys . Output , portmaps : Portmaps , options : ConvertOptions = { } ) : { [ key : string ] : Digitaljs . Module } {
394397 const out = { } ;
395398 for ( const [ name , mod ] of Object . entries ( data . modules ) ) {
396399 out [ name ] = yosys_to_digitaljs_mod ( name , mod , portmaps , options ) ;
397400 }
398401 return out
399402}
400403
401- function yosys_to_digitaljs_mod ( name : string , mod : Yosys . Module , portmaps : Portmaps , options : Options = { } ) : Digitaljs . Module {
404+ function yosys_to_digitaljs_mod ( name : string , mod : Yosys . Module , portmaps : Portmaps , options : ConvertOptions = { } ) : Digitaljs . Module {
402405 function constbit ( bit : Bit ) {
403406 return bit == '0' || bit == '1' || bit == 'x' ;
404407 }
@@ -1177,7 +1180,7 @@ export async function verilator_lint(filenames: string[], dirname?: string, opti
11771180 }
11781181}
11791182
1180- export function yosys2digitaljs ( obj : Yosys . Output , options : Options = { } ) : Digitaljs . TopModule {
1183+ export function yosys2digitaljs ( obj : Yosys . Output , options : ConvertOptions = { } ) : Digitaljs . TopModule {
11811184 const portmaps = order_ports ( obj ) ;
11821185 const out = yosys_to_digitaljs ( obj , portmaps , options ) ;
11831186 const toporder = topsort ( module_deps ( obj ) ) ;
@@ -1250,7 +1253,7 @@ export function io_ui(output: Digitaljs.Module) {
12501253 }
12511254}
12521255
1253- export async function process_files ( data : { [ key : string ] : string } , options : Options ) : Promise < Output > {
1256+ export async function process_files ( data : { [ key : string ] : string } , options : Options = { } ) : Promise < Output > {
12541257 const dir = await tmp . dir ( ) ;
12551258 const names = [ ] ;
12561259 try {
@@ -1268,12 +1271,12 @@ export async function process_files(data: {[key: string]: string}, options: Opti
12681271 }
12691272}
12701273
1271- export async function process_sv ( text : string ) : Promise < Output > {
1274+ export async function process_sv ( text : string , options : Options = { } ) : Promise < Output > {
12721275 const tmpsv = await tmp . file ( { postfix : '.sv' } ) ;
12731276 try {
12741277 await promisify ( fs . write ) ( tmpsv . fd , text ) ;
12751278 await promisify ( fs . close ) ( tmpsv . fd ) ;
1276- return await process ( [ tmpsv . path ] ) ;
1279+ return await process ( [ tmpsv . path ] , undefined , options ) ;
12771280 } finally {
12781281 tmpsv . cleanup ( ) ;
12791282 }
0 commit comments