2019-10-02 12:16:07 +08:00
const shop _data = {
2020-04-15 12:36:50 +08:00
API _RFQ : 'https://hooks.m-labs.hk/rfq' ,
2020-04-14 13:46:51 +08:00
2019-12-26 21:31:37 +08:00
mobileSideMenuShouldOpen : false ,
2019-10-02 12:16:07 +08:00
currentItemHovered : null ,
currentMode : 'rack' ,
2019-11-06 14:48:26 +08:00
currency : 'USD' ,
2019-10-02 12:16:07 +08:00
crateModeSlots : {
rack : 21 ,
desktop : 10 ,
} ,
crateRules : {
maxSlot : {
type : 'crate' ,
2019-11-06 10:13:14 +08:00
icon : '/shop/icon-warning.svg' ,
color : '#c75e5e' ,
2019-10-02 12:16:07 +08:00
name : 'Crate' ,
2022-08-25 12:45:12 +08:00
message : 'You have reached the maximum number of slots allowed for this crate. Consider removing cards.' ,
2019-10-02 12:16:07 +08:00
} ,
2020-01-27 23:09:29 +08:00
compactSlot : {
type : 'crate' ,
icon : '/shop/icon-reminder.svg' ,
name : 'Crate' ,
message : 'The selected cards fit in a 42hp desktop crate, consider switching to it for a more compact system' ,
} ,
2019-10-02 12:16:07 +08:00
} ,
crateModeItems : [ {
id : 'rack' ,
name : 'Rack mountable crate' ,
2023-08-09 10:00:50 +08:00
price : 550 ,
2019-10-02 12:16:07 +08:00
} , {
id : 'desktop' ,
name : 'Desktop crate' ,
2023-08-09 10:00:50 +08:00
price : 500 ,
2019-10-02 12:16:07 +08:00
} ] ,
items : {
/* keys are also ids, avoid changing them */
'kasli' : {
id : 'kasli' ,
2020-10-13 10:04:02 +08:00
name : 'Carrier' ,
2021-03-22 18:30:56 +08:00
name _number : '1124' ,
name _codename : 'Kasli 2.0' ,
2019-11-06 14:48:26 +08:00
price : 3600 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_kasli.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'FPGA core device, runs ARTIQ kernels, controls the EEMs.' ,
2021-03-23 00:40:39 +08:00
'4 SFP 6Gb/s slots for Ethernet or DRTIO.' ,
2021-03-23 17:30:40 +08:00
'12 EEM connectors.' ,
2019-11-06 14:48:26 +08:00
'4 MMCX clock outputs.' ,
2019-11-15 17:14:28 +08:00
'Price includes bitstream generation, flashing, testing, and firmware updates for 1 year (USD 1,400.00).' ,
2019-10-02 12:16:07 +08:00
] ,
size : 'big' ,
type : 'kasli' ,
hp : 8 ,
nbrSlotMin : 0 ,
2021-03-22 18:30:56 +08:00
nbrSlotMax : 12 ,
2019-10-02 12:16:07 +08:00
nbrCurrentSlot : 0 ,
nbrClockMax : 4 ,
nbrCurrentClock : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Radio" , args : { title : "DRTIO role" , outvar : "drtio_role" , variants : [ "standalone" , "master" , "satellite" ] , tip : "Distributed Real Time Input/Output allows ARTIQ RTIO channels to be distributed among several satellite devices synchronized and controlled by a central core(master) device. Standalone option disables this feature." } } ,
{
"if" : [
{
"in" : [
{ "var" : "drtio_role" } , [
"master" , "standalone"
]
]
} ,
[
{ type : "Line" , args : { title : "IPv4" , outvar : "ipv4" , fallback : "192.168.1.75/24" , tip : "Set up IPv4 address used by core device" } } ,
{ type : "SwitchLine" , args : { title : "IPv6" , outvar : "ipv6" } } ,
{ type : "SwitchLine" , args : { title : "Ext CLK" , outvar : "ext_clk" , fallback : { text : "125 MHz" , checked : false } , tip : "Use external clock reference: 10, 80 (beta), 100 or 125 MHz. Other variants may be provided if needed." } }
] ,
[
{ type : "Switch" , args : { title : "Optical fiber" , outvar : "optics" , tip : "Use optical fiber instead of direct attach copper cable" } } ,
{ "if" : [
{ "var" : "optics" } ,
{ type : "Radio" , args : { title : "Fiber cable length" , outvar : "cable_len" , variants : [ "1 M" , "3 M" , "5 M" ] , tip : "The desired length of the optical fiber cable" , fallback : 1 } } ,
{ type : "Radio" , args : { title : "Copper cable length" , outvar : "cable_len" , variants : [ "0.5 M" , "1 M" , "2 M" ] , tip : "The desired length of the direct attach copper cable" , fallback : 0 } } ,
] }
]
]
}
] ,
2023-12-05 17:35:31 +08:00
resources : [
{ name : "eem" , max : 5 } ,
{ name : "clk" , max : 4 } ,
] ,
warnings : [
"eem_resource" ,
"clk_resource" ,
"eem_wiring_constraint"
]
2021-03-23 00:40:59 +08:00
} ,
2021-03-23 17:30:40 +08:00
'kaslisoc' : {
id : 'kaslisoc' ,
name : 'Carrier' ,
name _number : '1125' ,
name _codename : 'Kasli-SoC' ,
price : 5100 ,
image : '/shop/graphic-03_kaslisoc.svg' ,
specs : [
'Core device based on Zynq-7000 CPU+FPGA system-on-chip.' ,
'Runs ARTIQ kernels on 1GHz Cortex-A9 CPU with hardware FPU.' ,
'Enables high-speed matrix math on the core device.' ,
'Lower RTIO latency.' ,
'Higher network transfer speeds.' ,
'Dedicated RJ45 port for Gigabit Ethernet.' ,
'4 SFP 12Gb/s slots for DRTIO.' ,
'12 EEM connectors.' ,
'4 MMCX clock outputs.' ,
] ,
size : 'big' ,
type : 'kasli' ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 12 ,
nbrCurrentSlot : 0 ,
nbrClockMax : 4 ,
nbrCurrentClock : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Radio" , args : { title : "DRTIO role" , outvar : "drtio_role" , variants : [ "standalone" , "master" , "satellite" ] , tip : "Distributed Real Time Input/Output allows ARTIQ RTIO channels to be distributed among several satellite devices synchronized and controlled by a central core(master) device. Standalone option disables this feature." } } ,
{
"if" : [
{
"in" : [
{ "var" : "drtio_role" } , [
"master" , "standalone"
]
]
} ,
[
{ type : "Line" , args : { title : "IPv4" , outvar : "ipv4" , fallback : "192.168.1.75/24" , tip : "Set up IPv4 address used by core device" } } ,
{ type : "SwitchLine" , args : { title : "IPv6" , outvar : "ipv6" } } ,
{ type : "SwitchLine" , args : { title : "Ext CLK" , outvar : "ext_clk" , fallback : { text : "125 MHz" , checked : false } , tip : "Use external clock reference: 10, 80 (beta), 100 or 125 MHz. Other variants may be provided if needed." } }
] ,
[
{ type : "Switch" , args : { title : "Optical fiber" , outvar : "optics" , tip : "Use optical fiber instead of direct attach copper cable" } } ,
{ "if" : [
{ "var" : "optics" } ,
{ type : "Radio" , args : { title : "Fiber cable length" , outvar : "cable_len" , variants : [ "1 M" , "3 M" , "5 M" ] , tip : "The desired length of the optical fiber cable" , fallback : 1 } } ,
{ type : "Radio" , args : { title : "Copper cable length" , outvar : "cable_len" , variants : [ "0.5 M" , "1 M" , "2 M" ] , tip : "The desired length of the direct attach copper cable" , fallback : 0 } } ,
] }
]
]
}
] ,
2021-03-23 17:30:40 +08:00
rules : {
maxSlot : {
type : 'kaslisoc-max-slot' ,
icon : '/shop/icon-reminder.svg' ,
name : 'Kasli-SoC' ,
message : 'Insufficient EEM connectors.' ,
} ,
maxSlotWarning : {
type : 'kaslisoc-max-slot-warning' ,
icon : '/shop/icon-warning.svg' ,
name : 'Kasli-SoC' ,
message : 'Insufficient EEM connectors' ,
} ,
maxClock : {
type : 'kaslisoc-max-clock' ,
icon : '/shop/icon-reminder.svg' ,
name : 'Kasli-SoC' ,
message : 'Insufficient clock connectors. Kasli-SoC has at most 4 clock connections.' ,
} ,
maxClockWarning : {
type : 'kaslisoc-max-clock-warning' ,
icon : '/shop/icon-warning.svg' ,
name : 'Kasli-SoC' ,
message : 'Insufficient clock connectors.' ,
} ,
follow : {
type : 'kaslisoc-follow' ,
icon : '/shop/icon-reminder.svg' ,
name : 'Kasli-SoC' ,
message : 'Due to wiring constraints, a Kasli-SoC can only connect to EEM cards immediately at its right, without crossing another carrier.' ,
} ,
} ,
} ,
2021-03-23 00:40:59 +08:00
'vhdcicarrier' : {
id : 'vhdcicarrier' ,
name : 'VHDCI Carrier' ,
name _number : '1008' ,
name _codename : '' ,
price : 400 ,
image : '/shop/graphic-03_VHDCI_carrier.svg' ,
specs : [
'Passive adapter between VHDCI and EEMs.' ,
'VHDCI (SCSI-3) cables can carry EEM signals over short distances between crates.' ,
'Bidirectional: can be driven by Kasli (contact us), or can drive other cards.' ,
'A pair of VHDCI carriers is a simple, low-latency and low-cost alternative to DRTIO for some applications.' ,
] ,
size : 'big' ,
type : 'vhdcicarrier' ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 8 ,
nbrCurrentSlot : 0 ,
nbrClockMax : 0 ,
nbrCurrentClock : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
rules : {
maxSlot : {
type : 'vhdcicarrier-max-slot' ,
icon : '/shop/icon-reminder.svg' ,
name : 'VHDCI carrier' ,
message : 'Insufficient EEM connectors.' ,
} ,
maxSlotWarning : {
type : 'vhdcicarrier-max-slot-warning' ,
icon : '/shop/icon-warning.svg' ,
name : 'VHDCI carrier' ,
message : 'Insufficient EEM connectors' ,
} ,
2021-03-23 01:11:36 +08:00
maxClock : {
type : 'vhdcicarrier-max-clock' ,
icon : '/shop/icon-reminder.svg' ,
name : 'VHDCI carrier' ,
message : 'The VHDCI carrier lacks clock connectors.' ,
} ,
maxClockWarning : {
type : 'vhdcicarrier-max-clock-warning' ,
icon : '/shop/icon-warning.svg' ,
name : 'VHDCI carrier' ,
message : 'The VHDCI carrier lacks clock connectors.' ,
} ,
2021-03-23 00:40:59 +08:00
follow : {
type : 'vhdcicarrier-follow' ,
icon : '/shop/icon-reminder.svg' ,
name : 'VHDCI carrier' ,
message : 'Due to wiring constraints, a VHDCI carrier can only connect to EEM cards immediately at its right, without crossing another carrier.' ,
2019-10-02 12:16:07 +08:00
} ,
} ,
} ,
'bnc-dio' : {
id : 'bnc-dio' ,
2020-03-02 20:57:38 +08:00
name : 'BNC-TTL' ,
name _number : '2118' ,
name _codename : '' ,
2019-11-06 14:48:26 +08:00
price : 450 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_BNC-TTL.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'Two banks of four digital channels each, with BNC connectors.' ,
'Each bank with individual ground isolation.' ,
2021-03-23 16:56:26 +08:00
'Per-bank switchable direction.' ,
2019-11-06 14:48:26 +08:00
'Per-channel switchable 50 Ohm termination with LED indicators.' ,
'Short circuit tolerance: infinite.' ,
'Minimum pulse width: 3ns.' ,
'Max 150 MHz toggle rate with 50% duty cycle.'
2019-10-02 12:16:07 +08:00
] ,
2022-01-19 14:27:48 +08:00
datasheet _file : '/docs/sinara-datasheets/2118-2128.pdf' ,
datasheet _name : '2118/2128 BNC/SMA-TTL datasheet' ,
2019-10-02 12:16:07 +08:00
size : 'big' ,
type : null ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
2023-11-28 15:32:34 +08:00
options : [
{
"if" : [
{ "var" : "ext_data.has_other_dio" } ,
[
{ type : "Switch" , args : { title : "Output first bank" , fallback : true , outvar : "out_first_bank" , tip : "Switch connectors 0-3 to output" } }
] ,
[
{ type : "Switch" , args : { title : "Output first bank" , outvar : "out_first_bank" , tip : "Switch connectors 0-3 to output" } }
]
]
} ,
{
"if" : [
{ "!" : { "var" : "out_first_bank" } } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Termination #0" , outvar : "term_0" , tip : "Enable termination on channel #0" } } ,
{ type : "Switch" , args : { title : "Termination #1" , outvar : "term_1" , tip : "Enable termination on channel #1" } } ,
{ type : "Switch" , args : { title : "Termination #2" , outvar : "term_2" , tip : "Enable termination on channel #2" } } ,
{ type : "Switch" , args : { title : "Termination #3" , outvar : "term_3" , tip : "Enable termination on channel #3" } } ,
] } ,
null
]
} ,
{ type : "Switch" , args : { title : "Output second bank" , outvar : "out_second_bank" , fallback : true , tip : "Switch connectors 4-7 to output" } } ,
{
"if" : [
{ "!" : { "var" : "out_second_bank" } } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Termination #4" , outvar : "term_4" , tip : "Enable termination on channel #4" } } ,
{ type : "Switch" , args : { title : "Termination #5" , outvar : "term_5" , tip : "Enable termination on channel #5" } } ,
{ type : "Switch" , args : { title : "Termination #6" , outvar : "term_6" , tip : "Enable termination on channel #6" } } ,
{ type : "Switch" , args : { title : "Termination #7" , outvar : "term_7" , tip : "Enable termination on channel #7" } } ,
] } ,
null
]
} ,
{
"if" : [
{ "!" : { "and" : [ { "var" : "out_first_bank" } , { "var" : "out_second_bank" } ] } } ,
{ type : "Switch" , args : { title : "Edge counter" , outvar : "edge_counter" , tip : "Enable edge counter for inputs" } }
]
}
] ,
2023-12-05 17:35:31 +08:00
warnings : [
"no_eem_source"
]
2019-10-02 12:16:07 +08:00
} ,
2019-11-06 14:48:26 +08:00
'sma-dio' : {
id : 'sma-dio' ,
2020-03-02 20:57:38 +08:00
name : 'SMA-TTL' ,
name _number : '2128' ,
name _codename : '' ,
2019-11-06 14:48:26 +08:00
price : 400 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_SMA-TTL.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'Same as above, but with SMA connectors.'
2019-10-02 12:16:07 +08:00
] ,
2022-01-19 14:27:48 +08:00
datasheet _file : '/docs/sinara-datasheets/2118-2128.pdf' ,
datasheet _name : '2118/2128 BNC/SMA-TTL datasheet' ,
2023-11-28 15:32:34 +08:00
options : [
{
"if" : [
{ "var" : "ext_data.has_other_dio" } ,
[
{ type : "Switch" , args : { title : "Output first bank" , fallback : true , outvar : "out_first_bank" , tip : "Switch connectors 0-3 to output" } }
] ,
[
{ type : "Switch" , args : { title : "Output first bank" , outvar : "out_first_bank" , tip : "Switch connectors 0-3 to output" } }
]
]
} ,
{
"if" : [
{ "!" : { "var" : "out_first_bank" } } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Termination #0" , outvar : "term_0" , tip : "Enable termination on channel #0" } } ,
{ type : "Switch" , args : { title : "Termination #1" , outvar : "term_1" , tip : "Enable termination on channel #1" } } ,
{ type : "Switch" , args : { title : "Termination #2" , outvar : "term_2" , tip : "Enable termination on channel #2" } } ,
{ type : "Switch" , args : { title : "Termination #3" , outvar : "term_3" , tip : "Enable termination on channel #3" } } ,
] } ,
null
]
} ,
{ type : "Switch" , args : { title : "Output second bank" , outvar : "out_second_bank" , fallback : true , tip : "Switch connectors 4-7 to output" } } ,
{
"if" : [
{ "!" : { "var" : "out_second_bank" } } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Termination #4" , outvar : "term_4" , tip : "Enable termination on channel #4" } } ,
{ type : "Switch" , args : { title : "Termination #5" , outvar : "term_5" , tip : "Enable termination on channel #5" } } ,
{ type : "Switch" , args : { title : "Termination #6" , outvar : "term_6" , tip : "Enable termination on channel #6" } } ,
{ type : "Switch" , args : { title : "Termination #7" , outvar : "term_7" , tip : "Enable termination on channel #7" } } ,
] } ,
null
]
} ,
{
"if" : [
{ "!" : { "and" : [ { "var" : "out_first_bank" } , { "var" : "out_second_bank" } ] } } ,
{ type : "Switch" , args : { title : "Edge counter" , outvar : "edge_counter" , tip : "Enable edge counter for inputs" } }
]
}
] ,
2019-10-02 12:16:07 +08:00
size : 'small' ,
type : null ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
2023-12-05 17:35:31 +08:00
warnings : [
"no_eem_source"
]
2019-10-02 12:16:07 +08:00
} ,
2021-03-23 16:56:47 +08:00
'mcx-dio' : {
id : 'mcx-dio' ,
name : 'MCX-TTL' ,
name _number : '2238' ,
name _codename : '' ,
price : 600 ,
image : '/shop/graphic-03_MCX-TTL.svg' ,
specs : [
'16 single-ended digital signals on MCX connectors.' ,
'Direction selectable in banks of four signals.' ,
'Termination individually selectable for each signal.' ,
'No galvanic isolation.' ,
'Higher speed and lower jitter than the isolated SMA and BNC DIO cards.'
] ,
2022-01-19 14:27:48 +08:00
datasheet _file : '/docs/sinara-datasheets/2238.pdf' ,
datasheet _name : '2238 MCX-TTL datasheet' ,
2023-11-28 15:32:34 +08:00
options : [
{
"if" : [
{ "var" : "ext_data.has_other_dio" } ,
[
{ type : "Switch" , args : { title : "Output first bank" , fallback : true , outvar : "out_first_bank" , tip : "Switch connectors 0-3 to output" } }
] ,
[
{ type : "Switch" , args : { title : "Output first bank" , outvar : "out_first_bank" , tip : "Switch connectors 0-3 to output" } }
]
]
} ,
{
"if" : [
{ "!" : { "var" : "out_first_bank" } } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Termination #0" , outvar : "term_0" , tip : "Enable termination on channel #0" } } ,
{ type : "Switch" , args : { title : "Termination #1" , outvar : "term_1" , tip : "Enable termination on channel #1" } } ,
{ type : "Switch" , args : { title : "Termination #2" , outvar : "term_2" , tip : "Enable termination on channel #2" } } ,
{ type : "Switch" , args : { title : "Termination #3" , outvar : "term_3" , tip : "Enable termination on channel #3" } } ,
] }
]
} ,
{ type : "Switch" , args : { title : "Output second bank" , outvar : "out_second_bank" , fallback : true , tip : "Switch connectors 4-7 to output" } } ,
{
"if" : [
{ "!" : { "var" : "out_second_bank" } } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Termination #4" , outvar : "term_4" , tip : "Enable termination on channel #4" } } ,
{ type : "Switch" , args : { title : "Termination #5" , outvar : "term_5" , tip : "Enable termination on channel #5" } } ,
{ type : "Switch" , args : { title : "Termination #6" , outvar : "term_6" , tip : "Enable termination on channel #6" } } ,
{ type : "Switch" , args : { title : "Termination #7" , outvar : "term_7" , tip : "Enable termination on channel #7" } } ,
] }
]
} ,
{ type : "Switch" , args : { title : "Output third bank" , outvar : "out_third_bank" , fallback : true , tip : "Switch connectors 8-11 to output" } } ,
{
"if" : [
{ "!" : { "var" : "out_third_bank" } } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Termination #8" , outvar : "term_8" , tip : "Enable termination on channel #8" } } ,
{ type : "Switch" , args : { title : "Termination #9" , outvar : "term_9" , tip : "Enable termination on channel #9" } } ,
{ type : "Switch" , args : { title : "Termination #10" , outvar : "term_10" , tip : "Enable termination on channel #10" } } ,
{ type : "Switch" , args : { title : "Termination #11" , outvar : "term_11" , tip : "Enable termination on channel #11" } } ,
] }
]
} ,
{ type : "Switch" , args : { title : "Output fourth bank" , outvar : "out_fourth_bank" , fallback : true , tip : "Switch connectors 12-15 to output" } } ,
{
"if" : [
{ "!" : { "var" : "out_fourth_bank" } } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Termination #12" , outvar : "term_12" , tip : "Enable termination on channel #12" } } ,
{ type : "Switch" , args : { title : "Termination #13" , outvar : "term_13" , tip : "Enable termination on channel #13" } } ,
{ type : "Switch" , args : { title : "Termination #14" , outvar : "term_14" , tip : "Enable termination on channel #14" } } ,
{ type : "Switch" , args : { title : "Termination #15" , outvar : "term_15" , tip : "Enable termination on channel #15" } } ,
] }
]
} ,
{
"if" : [
{ "!" : { "and" : [ { "var" : "out_first_bank" } , { "var" : "out_second_bank" } , { "var" : "out_third_bank" } , { "var" : "out_fourth_bank" } ] } } ,
{ type : "Switch" , args : { title : "Edge counter" , outvar : "edge_counter" , tip : "Enable edge counter for inputs" } }
]
}
] ,
2021-03-23 16:56:47 +08:00
size : 'small' ,
type : null ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 2 ,
clockOccupied : 0 ,
rules : {
resources : {
type : 'mcx-dio' ,
icon : '/shop/icon-warning.svg' ,
name : 'MCX-DIO' ,
message : 'This card needs a card that provides two EEM connectors (e.g. Kasli) at its left.' ,
} ,
} ,
} ,
2019-11-06 14:48:26 +08:00
'rj45-dio' : {
id : 'rj45-dio' ,
2020-03-02 20:57:38 +08:00
name : 'LVDS-TTL' ,
name _number : '2245' ,
name _codename : '' ,
2019-11-06 14:48:26 +08:00
price : 390 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_LVDS.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'Supplies 16 LVDS pairs via 4 front-panel RJ45 connectors.' ,
'Each RJ45 supplies 4 LVDS DIOs.' ,
2021-03-23 16:56:26 +08:00
'Direction individually selectable for each signal.' ,
2019-11-06 14:48:26 +08:00
'No galvanic isolation.' ,
'Higher speed and lower jitter than the isolated SMA and BNC DIO cards.'
2019-10-02 12:16:07 +08:00
] ,
2022-01-19 14:27:48 +08:00
datasheet _file : '/docs/sinara-datasheets/2245.pdf' ,
datasheet _name : '2245 LVDS-TTL datasheet' ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Switch" , args : { title : "Configure first RJ45" , fallback : false , outvar : "conf_first_rj45" , tip : "Configure channels 0-3" } } ,
{
"if" : [
{ "var" : "conf_first_rj45" } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Output channel #0" , fallback : true , outvar : "output_0" , tip : "Set channel #0 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #1" , fallback : true , outvar : "output_1" , tip : "Set channel #1 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #2" , fallback : true , outvar : "output_2" , tip : "Set channel #2 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #3" , fallback : true , outvar : "output_3" , tip : "Set channel #3 to output" } } ,
] }
]
} ,
{ type : "Switch" , args : { title : "Configure second RJ45" , fallback : false , outvar : "conf_second_rj45" , tip : "Configure channels 4-7" } } ,
{
"if" : [
{ "var" : "conf_second_rj45" } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Output channel #4" , fallback : true , outvar : "output_4" , tip : "Set channel #4 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #5" , fallback : true , outvar : "output_5" , tip : "Set channel #5 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #6" , fallback : true , outvar : "output_6" , tip : "Set channel #6 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #7" , fallback : true , outvar : "output_7" , tip : "Set channel #7 to output" } } ,
] }
]
} ,
{ type : "Switch" , args : { title : "Configure third RJ45" , fallback : false , outvar : "conf_third_rj45" , tip : "Configure channels 8-11" } } ,
{
"if" : [
{ "var" : "conf_third_rj45" } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Output channel #8" , fallback : true , outvar : "output_8" , tip : "Set channel #8 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #9" , fallback : true , outvar : "output_9" , tip : "Set channel #9 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #10" , fallback : true , outvar : "output_10" , tip : "Set channel #10 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #11" , fallback : true , outvar : "output_11" , tip : "Set channel #11 to output" } } ,
] }
]
} ,
{ type : "Switch" , args : { title : "Configure fourth RJ45" , fallback : false , outvar : "conf_fourth_rj45" , tip : "Configure channels 12-15" } } ,
{
"if" : [
{ "var" : "conf_fourth_rj45" } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Output channel #12" , fallback : true , outvar : "output_12" , tip : "Set channel #12 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #13" , fallback : true , outvar : "output_13" , tip : "Set channel #13 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #14" , fallback : true , outvar : "output_14" , tip : "Set channel #14 to output" } } ,
{ type : "Switch" , args : { title : "Output channel #15" , fallback : true , outvar : "output_15" , tip : "Set channel #15 to output" } } ,
] }
]
} ,
{
"if" : [
{ "or" : [
{ "and" : [ { "var" : "conf_first_rj45" } , { "!" : { "missing" : [ "output_0" , "output_1" , "output_2" , "output_3" ] } } , { "!" : { "and" : [ { "var" : "output_0" } , { "var" : "output_1" } , { "var" : "output_2" } , { "var" : "output_3" } ] } } ] } ,
{ "and" : [ { "var" : "conf_second_rj45" } , { "!" : { "missing" : [ "output_4" , "output_5" , "output_6" , "output_7" ] } } , { "!" : { "and" : [ { "var" : "output_4" } , { "var" : "output_5" } , { "var" : "output_6" } , { "var" : "output_7" } ] } } ] } ,
{ "and" : [ { "var" : "conf_third_rj45" } , { "!" : { "missing" : [ "output_8" , "output_9" , "output_10" , "output_11" ] } } , { "!" : { "and" : [ { "var" : "output_8" } , { "var" : "output_9" } , { "var" : "output_10" } , { "var" : "output_11" } ] } } ] } ,
{ "and" : [ { "var" : "conf_fourth_rj45" } , { "!" : { "missing" : [ "output_12" , "output_13" , "output_14" , "output_15" ] } } , { "!" : { "and" : [ { "var" : "output_12" } , { "var" : "output_13" } , { "var" : "output_14" } , { "var" : "output_15" } ] } } ] }
] } ,
{ type : "Switch" , args : { title : "Edge counter" , outvar : "edge_counter" , tip : "Enable edge counter for inputs" } }
]
}
] ,
2019-10-02 12:16:07 +08:00
size : 'small' ,
type : null ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 2 ,
clockOccupied : 0 ,
rules : {
resources : {
2019-11-06 14:48:26 +08:00
type : 'rj45-dio' ,
2019-10-02 12:16:07 +08:00
icon : '/shop/icon-warning.svg' ,
name : 'RJ45-DIO' ,
2019-11-06 14:48:26 +08:00
message : 'This card needs a card that provides two EEM connectors (e.g. Kasli) at its left.' ,
2019-10-02 12:16:07 +08:00
} ,
} ,
} ,
'urukul' : {
2020-03-02 20:57:38 +08:00
id : 'urukul' ,
name : 'DDS' ,
name _number : '4410' ,
name _codename : 'Urukul' ,
2019-11-06 14:48:26 +08:00
price : 2350 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_Urukul.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'4 channel 1GS/s DDS.' ,
'Output frequency (-3 dB): <1 to >400 MHz.' ,
2023-11-28 15:32:34 +08:00
'Frequency resolution ~0.25 Hz (32 bit)' ,
2019-11-06 14:48:26 +08:00
'Nominal max output power 10 dBm.' ,
'Digital step attenuator 0 to -31.5dB.' ,
'RF switch (1ns temporal resolution), 70dB isolation.' ,
2021-02-16 09:58:25 +08:00
'AD9910 and AD9912 cards can be used at the same time in the same crate.' ,
2019-11-06 14:48:26 +08:00
'External 5W power amplifier is available separately, leave us a note if interested.'
2019-10-02 12:16:07 +08:00
] ,
2022-01-19 14:27:48 +08:00
datasheet _file : '/docs/sinara-datasheets/4410-4412.pdf' ,
datasheet _name : '4410/4412 Urukul datasheet' ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Switch" , args : { title : "Use 1 EEM" , outvar : "mono_eem" , tip : "Use one EEM port setup. RF switch and synchronization will be unavailable." } } ,
{
"if" : [
{ "var" : "mono_eem" } ,
[
{ type : "SwitchLine" , args : { title : "Ext CLK" , outvar : "ext_clk" , fallback : { text : "125 MHz" , checked : false } } } ,
] ,
[
{ type : "Switch" , args : { title : "Synchronization" , outvar : "sync" , tip : "Synchronize phases across Urukuls" } } ,
{
"if" : [
{ "var" : "sync" } ,
null ,
[
{ type : "SwitchLine" , args : { title : "Ext CLK" , outvar : "ext_clk" , fallback : { text : "125 MHz" , checked : false } } } ,
{
"if" : [
{ "var" : "ext_data.has_sampler" } ,
{ type : "Switch" , args : { title : "SUServo mode" , outvar : "suservo" } } ,
null
]
}
]
]
}
]
]
}
] ,
2019-10-02 12:16:07 +08:00
size : 'small' ,
type : 'urukul' ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 2 ,
clockOccupied : 1 ,
rules : {
2023-11-28 15:32:34 +08:00
resources : {
2019-10-02 12:16:07 +08:00
type : 'urukul' ,
2023-11-28 15:32:34 +08:00
icon : '/shop/icon-warning.svg' ,
2020-01-31 20:51:25 +08:00
name : 'Urukul' ,
2023-11-28 15:32:34 +08:00
message : 'This card needs a card that provides EEM and clocking connectors (e.g. Kasli) at its left.' ,
2020-01-31 20:51:25 +08:00
} ,
2023-11-28 15:32:34 +08:00
} ,
} ,
'urukul_4412' : {
id : 'urukul_4412' ,
name : 'DDS' ,
name _number : '4412' ,
name _codename : 'Urukul' ,
price : 2350 ,
image : '/shop/graphic-03_Urukul-4412.svg' ,
specs : [
'4 channel 1GS/s DDS.' ,
'Higher frequency resolution ~8 µHz (47 bit)' ,
'Output frequency (-3 dB): <1 to >400 MHz.' ,
'Nominal max output power 10 dBm.' ,
'Digital step attenuator 0 to -31.5dB.' ,
'RF switch (1ns temporal resolution), 70dB isolation.' ,
'AD9912 chip.' ,
'AD9910 and AD9912 cards can be used at the same time in the same crate.' ,
'External 5W power amplifier is available separately, leave us a note if interested.'
] ,
datasheet _file : '/docs/sinara-datasheets/4410-4412.pdf' ,
datasheet _name : '4410/4412 Urukul datasheet' ,
options : [
{ type : "Switch" , args : { title : "Use 1 EEM" , outvar : "mono_eem" , tip : "Use one EEM port setup. RF switch and synchronization will be unavailable." } } ,
{ type : "SwitchLine" , args : { title : "Ext CLK" , outvar : "ext_clk" , fallback : { text : "125 MHz" , checked : false } } }
] ,
size : 'small' ,
type : 'urukul' ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 2 ,
clockOccupied : 1 ,
rules : {
2019-10-02 12:16:07 +08:00
resources : {
type : 'urukul' ,
icon : '/shop/icon-warning.svg' ,
name : 'Urukul' ,
2019-11-06 14:48:26 +08:00
message : 'This card needs a card that provides EEM and clocking connectors (e.g. Kasli) at its left.' ,
2019-10-02 12:16:07 +08:00
} ,
} ,
} ,
2021-03-23 18:14:38 +08:00
'phaser' : {
id : 'phaser' ,
name : 'AWG' ,
name _number : '4624' ,
name _codename : 'Phaser' ,
price : 4260 ,
image : '/shop/graphic-03_Phaser.svg' ,
specs : [
2021-03-23 18:16:39 +08:00
'2x 1.25 GS/s IQ upconverters.' ,
'dual IQ mixer + 0.3 GHz to 4.8 GHz VCO + PLL.' ,
'31.5 dB range digital step attenuator (similar to Urukul).' ,
'2 channels of 5 MS/s ADC (similar to Sampler).' ,
'Artix-7 FPGA.' ,
'Internal MMCX clock from Kasli/Clocker and external SMA.' ,
2021-03-23 18:15:39 +08:00
'The upconverter is optional, if you would like the baseband version please leave us a note.'
2021-03-23 18:14:38 +08:00
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "SwitchLine" , args : { title : "Ext CLK" , outvar : "ext_clk" , fallback : { text : "125 MHz" , checked : false } } } ,
{ type : "Radio" , args : { title : "Variant" , outvar : "variant" , variants : [ "Baseband" , "Upconverter" ] , fallback : 1 } } ,
] ,
2021-03-23 18:14:38 +08:00
size : 'small' ,
type : 'urukul' ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
2023-11-28 15:32:34 +08:00
slotOccupied : 1 ,
2021-03-23 18:14:38 +08:00
clockOccupied : 1 ,
rules : {
resources : {
type : 'phaser' ,
icon : '/shop/icon-warning.svg' ,
name : 'Phaser' ,
message : 'This card needs a card that provides EEM and clocking connectors (e.g. Kasli) at its left.' ,
} ,
} ,
} ,
2019-10-02 12:16:07 +08:00
'zotino' : {
id : 'zotino' ,
2020-03-02 20:57:38 +08:00
name : 'DAC' ,
name _number : '5432' ,
name _codename : 'Zotino' ,
2019-11-06 14:48:26 +08:00
price : 1600 ,
2020-03-10 16:49:36 +08:00
image : '/shop/graphic-03_Zotino.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'32-channel DAC.' ,
'16-bit resolution.' ,
'1 MSPS shared between all channels.' ,
'Output voltage +-10V.' ,
'HD68 connector with all channels.' ,
2021-07-30 18:09:32 +08:00
'Channels can also be broken out to BNC or SMA using IDC-BNC, IDC-SMA or IDC-MCX cards.' ,
'DAC temperature can be stabilized using the Sinara 8451 Thermostat (sold separately).'
2019-10-02 12:16:07 +08:00
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Switch" , args : { title : "TEC chip" , outvar : "tec_chip" , tip : "Used for stabilizing temperature with Sinara 8451 Thermostat" } } ,
] ,
2022-01-19 14:27:48 +08:00
datasheet _file : '/docs/sinara-datasheets/5432.pdf' ,
datasheet _name : '5432 Zotino datasheet' ,
2019-10-02 12:16:07 +08:00
size : 'small' ,
type : 'zotino' ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 4 ,
nbrCurrentSlot : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
rules : {
maxSlot : {
type : 'zotino' ,
icon : '/shop/icon-reminder.svg' ,
name : 'Zotino' ,
message : 'Zotino has at most 4 IDC-BNC adapters.' ,
} ,
maxSlotWarning : {
type : 'zotino-max-slot-warning' ,
icon : '/shop/icon-warning.svg' ,
name : 'Zotino' ,
message : 'Insufficient connectors.' ,
} ,
resources : {
type : 'zotino' ,
icon : '/shop/icon-warning.svg' ,
name : 'Zotino' ,
2019-11-06 14:48:26 +08:00
message : 'This card needs a card that provides a EEM connector (e.g. Kasli) at its left.' ,
2019-10-02 12:16:07 +08:00
} ,
} ,
} ,
2021-03-23 00:55:55 +08:00
'fastino' : {
id : 'fastino' ,
name : 'DAC' ,
name _number : '5632' ,
name _codename : 'Fastino' ,
price : 3390 ,
image : '/shop/graphic-03_Fastino.svg' ,
specs : [
'32-channel DAC.' ,
'16-bit resolution.' ,
2021-03-23 00:57:29 +08:00
'2 MSPS simultaneously on all channels (requires gateware acceleration).' ,
2021-03-23 00:55:55 +08:00
'Output voltage +-10V.' ,
'HD68 connector with all channels.' ,
'Channels can also be broken out to BNC or SMA using IDC-BNC, IDC-SMA or IDC-MCX cards.'
] ,
size : 'small' ,
type : 'zotino' ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 4 ,
nbrCurrentSlot : 0 ,
nbrClockMax : 0 ,
slotOccupied : 2 ,
clockOccupied : 0 ,
rules : {
maxSlot : {
type : 'fastino' ,
icon : '/shop/icon-reminder.svg' ,
name : 'Fastino' ,
message : 'Fastino has at most 4 IDC-BNC adapters.' ,
} ,
maxSlotWarning : {
type : 'fastino-max-slot-warning' ,
icon : '/shop/icon-warning.svg' ,
name : 'Fastino' ,
message : 'Insufficient connectors.' ,
} ,
resources : {
type : 'fastino' ,
icon : '/shop/icon-warning.svg' ,
name : 'Fastino' ,
message : 'This card needs a card that provides a EEM connector (e.g. Kasli) at its left.' ,
} ,
} ,
} ,
2019-10-02 12:16:07 +08:00
'idc-bnc-adapter' : {
id : 'idc-bnc-adapter' ,
2020-03-02 20:57:38 +08:00
name : 'BNC-IDC' ,
name _number : '5518' ,
name _codename : '' ,
2019-11-06 14:48:26 +08:00
price : 160 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_IDC-BNC-adapter.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'Breaks out analog signals from Zotino or HD68-IDC to BNC connectors.' ,
'Each card provides 8 channels.' ,
2019-11-16 12:22:47 +08:00
'Breaking out all 32 channels from a Zotino requires 4 IDC-BNC cards.'
2019-10-02 12:16:07 +08:00
] ,
size : 'big' ,
type : 'idc-bnc' ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
rules : {
wrong : {
type : 'idc-bnc' ,
icon : '/shop/icon-warning.svg' ,
name : 'IDC-BNC' ,
message : 'Should be after a Zotino or a HD68-IDC or with another IDC-BNC.' ,
}
} ,
} ,
2020-03-05 10:26:03 +08:00
'idc-sma-adapter' : {
id : 'idc-sma-adapter' ,
name : 'SMA-IDC' ,
name _number : '5528' ,
name _codename : '' ,
price : 160 ,
image : '/shop/graphic-03_SMA-IDC.svg' ,
specs : [
'Breaks out analog signals from Zotino or HD68-IDC to SMA connectors.' ,
'Each card provides 8 channels.' ,
'Breaking out all 32 channels from a Zotino requires 4 SMA-IDC cards.'
] ,
2020-03-05 12:21:37 +08:00
size : 'small' ,
2020-03-05 10:26:03 +08:00
type : 'idc-bnc' ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
rules : {
wrong : {
type : 'idc-sma' ,
icon : '/shop/icon-warning.svg' ,
name : 'SMA-IDC' ,
message : 'Should be after a Zotino or a HD68-IDC or with another SMA-IDC.' ,
}
} ,
} ,
'idc-mcx-adapter' : {
id : 'idc-mcx-adapter' ,
name : 'MCX-IDC' ,
2020-07-18 18:16:29 +08:00
name _number : '5538' ,
2020-03-05 10:26:03 +08:00
name _codename : '' ,
price : 160 ,
image : '/shop/graphic-03_MCX-IDC.svg' ,
specs : [
2020-03-05 12:21:37 +08:00
'Breaks out analog signals from Zotino or HD68-IDC to MCX connectors.' ,
2020-03-05 10:26:03 +08:00
'Each card provides 8 channels.' ,
'Breaking out all 32 channels from a Zotino requires 4 MCX-IDC cards.'
] ,
size : 'big' ,
type : 'idc-bnc' ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
rules : {
wrong : {
type : 'idc-mcx' ,
icon : '/shop/icon-warning.svg' ,
name : 'MCX-IDC' ,
message : 'Should be after a Zotino or a HD68-IDC or with another MCX-IDC.' ,
}
} ,
} ,
2019-10-02 12:16:07 +08:00
'hd68-idc-adapter' : {
id : 'hd68-idc-adapter' ,
name : 'HD68-IDC' ,
2020-03-02 20:57:38 +08:00
name _number : '5568' ,
name _codename : '' ,
2019-11-06 14:48:26 +08:00
price : 150 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_HD68.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'Connects an external HD68 cable to IDC-BNC, IDC-SMA or IDC-MCX cards.' ,
2019-10-02 12:16:07 +08:00
] ,
size : 'small' ,
type : 'hd68' ,
hp : 4 ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Radio" , args : { title : "Cable length" , outvar : "cable_len" , variants : [ "1 M" , "2 M" , "3 M" ] , tip : "The desired length of the HD68 cable" , fallback : 1 } } ,
] ,
options _class : "hd68-idc" ,
2019-10-02 12:16:07 +08:00
nbrSlotMin : 1 ,
nbrSlotMax : 4 ,
nbrCurrentSlot : 0 ,
nbrClockMax : 0 ,
2021-05-28 11:24:37 +08:00
slotOccupied : 0 ,
2019-10-02 12:16:07 +08:00
clockOccupied : 0 ,
rules : {
minAdapter : {
type : 'hd68-min-adapter' ,
icon : '/shop/icon-warning.svg' ,
name : 'HD68-IDC' ,
message : 'Need at least one IDC-BNC Adapter at its right.' ,
} ,
maxSlot : {
type : 'hd68-max-slot' ,
icon : '/shop/icon-reminder.svg' ,
name : 'HD68-IDC' ,
2020-01-23 02:06:56 +08:00
message : null ,
2019-10-02 12:16:07 +08:00
} ,
maxSlotWarning : {
type : 'hd68-max-slot-warning' ,
icon : '/shop/icon-warning.svg' ,
name : 'HD68-IDC' ,
message : 'Insufficient connectors.' ,
} ,
} ,
} ,
'novo' : {
id : 'novo' ,
2020-03-02 20:57:38 +08:00
name : 'Sampler' ,
name _number : '5108' ,
name _codename : '' ,
2019-11-06 14:48:26 +08:00
price : 1600 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_Sampler.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'8-channel ADC.' ,
'16-bit resolution.' ,
'1.5 MSPS simultaneously on all channels.' ,
'When used with ARTIQ-Python driver, effective sample rate is lower.' ,
'Digitally programmable input gain.' ,
'Full-scale input ranges between +-10mV and +-10V.' ,
'Supports SU-Servo laser intensity stabilization servo in conjunction with Urukul.'
2019-10-02 12:16:07 +08:00
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Switch" , args : { title : "1 EEM mode" , outvar : "mono_eem" } } ,
{
"if" : [
{ "and" : [ { "var" : "ext_data.has_dds" } , { "!" : { "var" : "mono_eem" } } ] } ,
{ type : "Switch" , args : { title : "SUServo mode" , outvar : "suservo" } } ,
null
]
} ,
{ type : "Switch" , args : { title : "Configure termination" , outvar : "config_term" } } ,
{
"if" : [
{ "var" : "config_term" } ,
{ type : "Group" , items : [
{ type : "Switch" , args : { title : "Termination #0" , outvar : "term_0" , tip : "Enable termination on channel #0" } } ,
{ type : "Switch" , args : { title : "Termination #1" , outvar : "term_1" , tip : "Enable termination on channel #1" } } ,
{ type : "Switch" , args : { title : "Termination #2" , outvar : "term_2" , tip : "Enable termination on channel #2" } } ,
{ type : "Switch" , args : { title : "Termination #3" , outvar : "term_3" , tip : "Enable termination on channel #3" } } ,
{ type : "Switch" , args : { title : "Termination #4" , outvar : "term_4" , tip : "Enable termination on channel #4" } } ,
{ type : "Switch" , args : { title : "Termination #5" , outvar : "term_5" , tip : "Enable termination on channel #5" } } ,
{ type : "Switch" , args : { title : "Termination #6" , outvar : "term_6" , tip : "Enable termination on channel #6" } } ,
{ type : "Switch" , args : { title : "Termination #7" , outvar : "term_7" , tip : "Enable termination on channel #7" } } ,
] } ]
}
] ,
2019-10-02 12:16:07 +08:00
size : 'big' ,
type : 'novo' ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 2 ,
clockOccupied : 0 ,
rules : {
resources : {
type : 'novo' ,
icon : '/shop/icon-warning.svg' ,
2021-11-22 12:34:40 +08:00
name : 'Sampler' ,
2019-11-06 14:48:26 +08:00
message : 'This card needs a card that provides EEM connectors (e.g. Kasli) at its left.' ,
2019-10-02 12:16:07 +08:00
} ,
}
} ,
'koster' : {
id : 'koster' ,
2020-03-02 20:57:38 +08:00
name : 'Grabber' ,
name _number : '6302' ,
name _codename : '' ,
2019-11-06 14:48:26 +08:00
price : 550 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_Grabber.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'Camera input interface card.' ,
'Supports some EMCCD cameras.' ,
'Allows image processing to occur in the FPGA with lower latency.' ,
'Existing stack supports summing over rectangular ROIs and reporting the result to ARTIQ kernels.' ,
'Camera signal is entirely processed in the Kasli FPGA.' ,
2019-10-02 12:16:07 +08:00
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Radio" , args : { title : "Connectors" , outvar : "n_eem" , variants : [ "1 EEM" , "2 EEM" , "3 EEM" ] , tip : "Number of EEM ports to use." , fallback : 1 } } ,
] ,
2019-10-02 12:16:07 +08:00
size : 'small' ,
type : 'koster' ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
2019-11-06 14:48:26 +08:00
slotOccupied : 2 ,
2019-10-02 12:16:07 +08:00
clockOccupied : 0 ,
rules : {
resources : {
type : 'koster' ,
icon : '/shop/icon-warning.svg' ,
2021-11-22 12:35:54 +08:00
name : 'Grabber' ,
2019-11-06 14:48:26 +08:00
message : 'This card needs a card that provides EEM connectors (e.g. Kasli) at its left.' ,
2019-10-02 12:16:07 +08:00
} ,
}
} ,
'clocker' : {
id : 'clocker' ,
name : 'Clocker' ,
2020-03-02 20:57:38 +08:00
name _number : '7210' ,
name _codename : '' ,
2019-11-06 14:48:26 +08:00
price : 525 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_Clocker.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'Distribute a low jitter clock signal among cards.' ,
'2 inputs.' ,
'10 outputs including 4 SMAs.' ,
'Frequency up to 1GHz.' ,
'Low jitter <100fs RMS.'
2019-10-02 12:16:07 +08:00
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Switch" , args : { title : "Ext CLK" , outvar : "ext_clk" } } ,
{ type : "Switch" , args : { title : "Ext power" , outvar : "ext_pwr" , "tip" : "Use external power supply in order to reduce number of used EEM connectors" } }
] ,
options _class : "clocker" ,
2019-10-02 12:16:07 +08:00
size : 'small' ,
type : 'clocker' ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 6 ,
slotOccupied : 1 ,
clockOccupied : 1 ,
rules : {
maxClock : {
type : 'clocker-max-clock' ,
icon : '/shop/icon-reminder.svg' ,
name : 'Clocker' ,
message : 'Clocker has at most 6 clock connections.' ,
} ,
maxClockWarning : {
type : 'clocker-max-clock-warning' ,
icon : '/shop/icon-warning.svg' ,
name : 'Clocker' ,
message : 'Insufficient clock connectors.' ,
} ,
} ,
} ,
2019-11-06 14:48:26 +08:00
'stabilizer' : {
id : 'stabilizer' ,
2020-03-02 20:57:38 +08:00
name : 'DSP' ,
name _number : '8452' ,
name _codename : 'Stabilizer' ,
2019-12-03 18:20:11 +08:00
price : 2000 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_Stabilizer.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'CPU-based dual-channel fast servo.' ,
'400MHz STM32H743ZIT6.' ,
'Dual 16bit ADC with x2, x5, x10 PGA (2MS/s).' ,
'16bit AD5542A DAC (1us settling time).' ,
'100Base-T Ethernet.' ,
'Can be controlled by Kasli or work stand-alone with PoE supply.'
2019-10-02 12:16:07 +08:00
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "SwitchLine" , args : { title : "IP" , outvar : "ip" , fallback : { text : "DHCP" , checked : false } , tip : "Set up IP address used by the device" } } ,
{ type : "Switch" , args : { title : "Ext power" , outvar : "ext_pwr" , "tip" : "Use external power supply in order to reduce number of used EEM connectors" } } ,
{ type : "Switch" , args : { title : "Term #0" , outvar : "term_0" , tip : "Enable termination on ADC channel #0" } } ,
{ type : "Switch" , args : { title : "Term #1" , outvar : "term_1" , tip : "Enable termination on ADC channel #1" } }
] ,
options _class : "stabilizer" ,
2019-10-02 12:16:07 +08:00
size : 'small' ,
type : null ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 0 ,
} ,
'mirny' : {
id : 'mirny' ,
2020-03-02 20:57:38 +08:00
name : 'Synthesizer' ,
2020-04-18 10:31:31 +08:00
name _number : '4456' ,
2020-03-02 20:57:38 +08:00
name _codename : 'Mirny' ,
2019-11-06 14:48:26 +08:00
price : 2660 ,
2020-03-02 20:57:38 +08:00
image : '/shop/graphic-03_Mirny.svg' ,
2019-10-02 12:16:07 +08:00
specs : [
2019-11-06 14:48:26 +08:00
'4-channel Wide-band PLL/VCO-based microwave frequency synthesiser.' ,
'53 MHz to >4 GHz.' ,
2023-06-14 17:43:02 +08:00
'Up to 13.6 GHz when using the mezzanine.' ,
2019-11-06 14:48:26 +08:00
'Much higher frequency resolution than Urukul.' ,
'Lower jitter and phase noise.' ,
'Large frequency changes take several milliseconds.' ,
2019-10-02 12:16:07 +08:00
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "SwitchLine" , args : { title : "Ext CLK" , outvar : "ext_clk" , fallback : { text : "125 MHz" , checked : false } } }
] ,
2019-10-02 12:16:07 +08:00
size : 'small' ,
type : null ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 1 ,
rules : {
resources : {
type : 'mirny' ,
icon : '/shop/icon-warning.svg' ,
name : 'Mirny' ,
2019-11-06 14:48:26 +08:00
message : 'This card needs a card that provides a EEM connector (e.g. Kasli) at its left.' ,
2019-10-02 12:16:07 +08:00
} ,
} ,
} ,
2023-06-14 17:43:02 +08:00
'almazny' : {
id : 'almazny' ,
2023-06-30 10:17:41 +08:00
name : 'HF Synthesizer' ,
2023-06-14 17:43:02 +08:00
name _number : '4457' ,
2023-06-30 10:17:41 +08:00
name _codename : 'Mirny + Almazny' ,
2023-06-14 17:43:02 +08:00
price : 3660 ,
image : '/shop/graphic-03_Almazny.svg' ,
specs : [
'Mirny with high frequency mezzanine.' ,
'Additional 4 channels up to 12 GHz.' ,
2023-06-30 10:18:35 +08:00
'Each Almazny channel outputs twice the frequency of its corresponding Mirny channel.' ,
2023-06-14 17:43:02 +08:00
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "SwitchLine" , args : { title : "Ext CLK" , outvar : "ext_clk" , fallback : { text : "125 MHz" , checked : false } } }
] ,
2023-06-14 17:43:02 +08:00
size : 'big' ,
type : null ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 1 ,
rules : {
resources : {
type : 'almazny' ,
icon : '/shop/icon-warning.svg' ,
name : 'Almazny' ,
message : 'This card needs a card that provides a EEM connector (e.g. Kasli) at its left.' ,
} ,
}
2023-07-05 12:36:06 +08:00
} ,
'thermostat-eem' : {
id : 'thermostat-eem' ,
name : 'Thermostat EEM' ,
name _number : '8453' ,
name _codename : '' ,
price : 2600 ,
image : '/shop/graphic-03_Thermostat-EEM.svg' ,
specs : [
'4 TEC channels.' ,
'Sensor channel count: 8 differential, 16 single-ended.' ,
'Output HD44 DSUB connector.' ,
'Up to 8W (+/-2A with 4V compliance) heater/TEC drive from MAX1968 drivers.' ,
'Up to 16W (+4A 4V) from MAX1969 drivers.' ,
'100Base-T Ethernet with PoE.'
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "Switch" , args : { title : "Ext power" , outvar : "ext_pwr" , "tip" : "Use external power supply in order to reduce number of used EEM connectors" } }
] ,
2023-07-05 12:36:06 +08:00
size : 'small' ,
type : null ,
hp : 4 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 0
2023-08-10 12:27:06 +08:00
} ,
2023-10-11 11:01:26 +08:00
'shuttler' : {
id : 'shuttler' ,
name : 'DAC' ,
name _number : '5716' ,
name _codename : 'Shuttler' ,
price : 8500 ,
image : '/shop/graphic-03_Shuttler.svg' ,
specs : [
2023-10-11 11:04:33 +08:00
'16-ch, 125 MSPS DAC EEM with remote analog front end board.' ,
'High DC resolution (up to ~18 bits with sigma-delta modulation) for trap electrode bias.' ,
'~15MHz default analog bandwidth.' ,
2023-10-11 11:01:26 +08:00
'AD9117 DACs (14 bits @ 125 MSPS, <1 LSB DNL).' ,
2023-10-11 11:04:33 +08:00
'Differential analog output via mini-SAS HD with shielded impedance-matched pairs.' ,
2023-10-11 11:30:57 +08:00
'Included remote analog front-end (AFE) board converts differential signals to ±10V single-ended at the point of use, with additional gain and filtering.' ,
2023-10-11 11:01:26 +08:00
] ,
size : 'big' ,
type : null ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
2023-10-11 11:30:57 +08:00
slotOccupied : 1 ,
clockOccupied : 1 ,
rules : {
resources : {
type : 'shuttler' ,
icon : '/shop/icon-warning.svg' ,
name : 'Shuttler' ,
message : 'This card needs a card that provides a EEM connector (e.g. Kasli) at its left.' ,
} ,
}
2023-10-11 11:01:26 +08:00
} ,
2023-08-10 12:27:06 +08:00
'pounder' : {
id : 'pounder' ,
name : 'PDH lock generator' ,
name _number : '4459' ,
name _codename : 'Stabilizer + Pounder' ,
price : 4460 ,
image : '/shop/graphic-03_Pounder.svg' ,
specs : [
'Stabilizer with Pounder daughter card.' ,
'2-channel Pound Drever Hall (PDH) lock generator.' ,
'AD9959 DDS (500MSPS, 10-bit).'
] ,
2023-11-28 15:32:34 +08:00
options : [
{ type : "SwitchLine" , args : { title : "IP" , outvar : "ip" , fallback : { text : "DHCP" , checked : false } , tip : "Set up IP address used by the device" } } ,
{ type : "Switch" , args : { title : "Ext power" , outvar : "ext_pwr" , "tip" : "Use external power supply in order to reduce number of used EEM connectors" } } ,
{ type : "SwitchLine" , args : { title : "Ext CLK" , outvar : "ext_clk" , fallback : { text : "125 MHz" , checked : false } } } ,
{ type : "Switch" , args : { title : "Termination #0" , outvar : "term_0" , tip : "Enable termination on ADC channel #0" } } ,
{ type : "Switch" , args : { title : "Termination #1" , outvar : "term_1" , tip : "Enable termination on ADC channel #1" } }
] ,
2023-08-10 12:27:06 +08:00
size : 'big' ,
type : null ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 1 ,
clockOccupied : 1 ,
2023-10-10 17:34:52 +08:00
} ,
'eem_pwr_mod' : {
id : 'eem_pwr_mod' ,
name : 'EEM AC Power Module' ,
name _number : '1106' ,
name _codename : '' ,
price : 750 ,
image : '/shop/graphic-03_eem_pwr_mod.svg' ,
specs : [
2023-10-10 17:53:25 +08:00
"EEM AC power module." ,
"400W with forced cooling (25CFM), 200W with free air convection." ,
"Universal input." ,
"IEC inlet on front panel." ,
"EMC filter." ,
"LED current indicator." ,
"6 rear side outputs." ,
"Mains circuit protected with steel cover." ,
"Optional - external power brick will be shipped free of charge if removed."
2023-10-10 17:34:52 +08:00
] ,
size : 'big' ,
type : null ,
hp : 8 ,
nbrSlotMin : 0 ,
nbrSlotMax : 0 ,
nbrClockMax : 0 ,
slotOccupied : 0 ,
clockOccupied : 0 ,
} ,
2019-10-02 12:16:07 +08:00
} ,
columns : {
/ * * *
* backlog is the column containing all items on left aside ,
* name should not change
* /
'backlog' : {
id : 'backlog' ,
title : 'Backlog' ,
/* itemIds define items order - change order to suit your need */
2023-06-30 10:10:15 +08:00
categories : [
{ name : 'Core' ,
itemIds : [
'kasli' ,
'kaslisoc' ] } ,
{ name : 'TTL' ,
itemIds : [
'bnc-dio' ,
'sma-dio' ,
'mcx-dio' ,
'rj45-dio' ] } ,
{ name : 'RF' ,
itemIds : [
'clocker' ,
'urukul' ,
2023-11-28 15:32:34 +08:00
'urukul_4412' ,
2023-06-30 10:10:15 +08:00
'phaser' ,
'mirny' ,
2023-08-10 16:00:04 +08:00
'almazny' ,
'pounder' ] } ,
2023-06-30 10:10:15 +08:00
{ name : 'DAC/ADC' ,
itemIds : [
'zotino' ,
'fastino' ,
2023-10-11 11:01:26 +08:00
'novo' ,
'shuttler' ] } ,
2023-06-30 10:10:15 +08:00
{ name : 'Adapters' ,
itemIds : [
'idc-bnc-adapter' ,
'idc-sma-adapter' ,
'idc-mcx-adapter' ,
'hd68-idc-adapter' ,
'vhdcicarrier' ] } ,
{ name : 'Misc' ,
itemIds : [
'koster' ,
2023-07-05 12:36:06 +08:00
'stabilizer' ,
2023-08-10 12:27:06 +08:00
'pounder' ,
2023-10-10 17:34:52 +08:00
'thermostat-eem' ,
'eem_pwr_mod' ,
] }
2019-10-02 12:16:07 +08:00
] ,
} ,
'cart' : {
id : 'cart' ,
title : 'Cart' ,
items : [ ] ,
2023-07-14 15:21:46 +08:00
itemsData : [ ] ,
2019-10-02 12:16:07 +08:00
} ,
} ,
rules : { } ,
} ;
window . shop _data = shop _data ;