nextpnr-viewer
Version:
A HTML 5 Canvas based viewer for nextpnr place and route visualizations.
42 lines (41 loc) • 1.34 kB
TypeScript
import { NextpnrJson } from '../pkg';
export { NextpnrJson };
export declare const SUPPORTED_DEVICES: {
readonly ecp5: readonly ["25k", "45k", "85k"];
};
export type SupportedFamily = keyof typeof SUPPORTED_DEVICES;
interface Chip<Family extends SupportedFamily> {
family: Family;
device: typeof SUPPORTED_DEVICES[Family][number];
}
export type SupportedChip = Chip<keyof typeof SUPPORTED_DEVICES>;
type ColorConfig = {
active: string;
inactive: string;
frame: string;
background: string;
};
export type ViewerConfig = {
width: number;
height: number;
createToggles: boolean;
colors: ColorConfig;
cellColors: Record<string, string>;
chip: SupportedChip;
};
export declare const defaultConfig: ViewerConfig;
export declare function isSupported<Family extends SupportedFamily>(family: Family, device: typeof SUPPORTED_DEVICES[Family][number]): boolean;
export declare class NextPNRViewer {
private config;
private viewer;
private container;
private canvas;
constructor(container: HTMLDivElement, config?: Partial<ViewerConfig>);
render(): Promise<void>;
showJson(json: NextpnrJson): Promise<void>;
resize(width: number, height: number): Promise<void>;
private _doRender;
private _doResize;
private _createCanvas;
private _addEventListeners;
}