From df8d45bf660c5620dfaa2ff6d656d5c93926bb1e Mon Sep 17 00:00:00 2001 From: David Given Date: Mon, 17 Feb 2020 00:13:13 +0100 Subject: [PATCH] Rework the output fifo to be a bit more correct about the sync signals, which in turn allows the sequencer to lose less time --- this gets the effective clock rate down to about 1.01us. However we still seem to lose the last sector on 18-sector disks and there are some disk reads so something is still wrong. --- .../ARM_GCC_541/Release/FluxEngine.hex | 170 +++++++++--------- FluxEngine.cydsn/FIFOout/FIFOout.v | 43 ++--- FluxEngine.cydsn/FluxEngine.cydwr | 6 + FluxEngine.cydsn/FluxEngine.cyprj | 33 ++++ FluxEngine.cydsn/Sequencer/Sequencer.v | 18 +- FluxEngine.cydsn/TopDesign/TopDesign.cysch | Bin 251362 -> 256870 bytes FluxEngine.cydsn/main.c | 4 +- protocol.h | 2 +- 8 files changed, 160 insertions(+), 116 deletions(-) diff --git a/FluxEngine.cydsn/CortexM3/ARM_GCC_541/Release/FluxEngine.hex b/FluxEngine.cydsn/CortexM3/ARM_GCC_541/Release/FluxEngine.hex index e0f127a2..bed03ad9 100644 --- a/FluxEngine.cydsn/CortexM3/ARM_GCC_541/Release/FluxEngine.hex +++ b/FluxEngine.cydsn/CortexM3/ARM_GCC_541/Release/FluxEngine.hex @@ -17,22 +17,22 @@ :4004000002F0E4FBB54801F0E5FE02F0C5FA02F097F9002002F0B8FB01F000FF0221002000F0A4FFAE4D0321084602F04BF82E462C46DFF8D4B202F065F8AB7F73B12A6A46 :40044000EB689B1A41F28832934207D9002001F075FE002002F098FB0023AB7700F0BEFF18B9A048FFF743FF04E000F0BDFF0028F7D109E000F0B2FF0028FBD09A48FFF7F1 :4004800036FF032001F016F8032000F0B9FF0128D1D19648FFF764FE95490320FFF782FE94F838109348FFF722FF94F83830023B122B00F2F583DFE813F01300F3031C0015 -:4004C000F3032200F3034400F3036800F303A001F3033503F3035403F3035A03F303650303238DF828308DF829300B238DF82A3044E394F83A00FFF731FF7F4B3BE3FFF7AA +:4004C000F3032200F3034400F3036800F303A001F3033503F3035403F3035A03F303650303238DF828308DF829300C238DF82A3044E394F83A00FFF731FF7F4B3BE3FFF7A9 :4005000065FE00236372E068627A02F0FF0132B9EB681B1AB3F57A7FF6DD0B4608E03BB100227272F168627A12B9EB685B1AFAE707228DF8282004228DF82920ADF82A30A6 :400540001CE30220FFF7E0FD4FF000090DF1280A4FF480780027C8EB0903DA1907F80A200137402FF9D10220FFF7CEFD3A465146022000F061FFB8F10108EBD109F1010983 -:40058000B9F1400FE4D15D4BC7E294F83A0001F0F9FD606BFFF7E2FE02F09AFB584BDFF86C811A78002742F004021A701A7842F001021A701A7802F0FE021A701A7802F0A2 +:40058000B9F1400FE4D15D4BC7E294F83A0001F0F9FD606BFFF7E2FE02F09AFB584BDFF86C811A78002702F0FB021A701A7842F001021A701A7802F0FE021A701A7802F0EB :4005C000FE021A7002F088FB0220FFF79DFD41F6FF734FF480420121022002F0DBFA84F8780001F0FDFE08F807000137102FF8D1DFF81CA100270AF15D081FFA88F901377D -:40060000102F14BF3A4600221AF8010F2244062392F82420402101F017FF4A4646F242419AF8000001F022FF09F14009102F1FFA89F9E4D196F83B3033B100237372637A9C +:40060000102F14BF3A4600221AF8010F2244062392F82420402101F017FF4A4646F244419AF8000001F022FF09F14009102F1FFA89F9E4D196F83B3033B100237372637A9A :40064000002BFCD000237372142200210AA802F09FFB40234FF0FF320D9300232360626023722368274F234493F8241094F878000C9701F06DFE94F8780001F02BFE01210C :4006800094F8780001F0FEFD04972368002BFCD000277760D6F80CA0237A7BB901F032FFA98F04E0EB68CAEB03038B4206D2626823689A422ED12B7A002BF3D094F808801C :4006C000042194F878005FFA88F801F04DFE54E019010000F900000091000000C50000008081FF1F793600008C3600009881FF1FB881FF1F963600002C3600002E3600006F -:40070000926400400086FF1F9B650040A481FF1FA381FF1F4FF0000962680AA808EB82124A440A92C9F140020B9200F0DBFA0B9A0137C2F1400209EB02030D9A5FFA83F900 +:40070000946400400086FF1F98650040A481FF1FA381FF1F4FF0000962680AA808EB82124A440A92C9F140020B9200F0DBFA0B9A0137C2F1400209EB02030D9A5FFA83F901 :400740005AB90220FFF7E0FC4022BD49022000F073FE049B0C9340230D93B9F13F0FDBD96268B84B01321340002BBEBF03F1FF3363F00F03013363608EE794F8780001F0B3 :4007800003FE0028F9D10AA800F0E0FA0220FFF7BBFC0D9B402B07D002204022A84900F04BFE0220FFF7B0FC0D9B022033F040021DBFC3F1400292B2A149114600F03CFEEF :4007C0000220FFF7A1FCFFF745FDB8F1000F06D09D48FFF78CFD0220FFF7B0FD06E09B4B09A81B88ADF82430FFF796FD627A3946237A9748FFF77BFD55E29648FFF777FDEF -:40080000E76B17F03F0701D003204AE2012001F0BFFC95F83A0001F0B5FC02F059FA9BF80030DFF8348203F0FB038BF800309BF8003043F001038BF800309BF8003003F027 +:40080000E76B17F03F0701D003204AE2012001F0BFFC95F83A0001F0B5FC02F059FA9BF80030DFF8348243F004038BF800309BF8003043F001038BF800309BF8003003F0DE :40084000FE038BF800309BF8003003F0FE038BF8003002F041FA686BFFF780FD01214FF4804341F6FF72084601F098FC85F8780001F0B6FD08F807000137102FF8D1DFF88D -:40088000DC91002709F15D031FFA83F807930137102F14BF3A46002219F8010F2244052392F82420402101F0CFFD414646F24B5299F8000001F0DAFD08F14008102F1FFA47 +:40088000DC91002709F15D031FFA83F807930137102F14BF3A46002219F8010F2244052392F82420402101F0CFFD414646F2485299F8000001F0DAFD08F14008102F1FFA4A :4008C00088F8E4D10027B946BA46F36B4FF0FF389B09142239460AA837600493C6F80480377202F055FA402301200D9300F0E2FDCDF81880059701F005FE2268514B01322B :400900001340002BBCBF03F1FF3363F00F036168B8BF01338B4200F0A380BAF1000F07D0237A002B40F0B0806B7A002B40F0AC800B9B002B34D1B9F1000F0BD07F22404926 :400940005A540133402BFAD10A910B9328E0BAF1000F06D1012000F053FD01288046F6D107E0237A002B40F08F806B7A002BF1D08AE03349FFF716FC8146314B0B90404665 @@ -61,9 +61,9 @@ :400F000043F002031370137C43F0020313742378A2F5863243F040032370413A137843F010031370444A454B07CA03C31A80444A2833106843F8250C127903F8212C414A6C :400F400007CA03C31A80404AE83B07CA03C31A803E4A083307CA03C31A803D4A3D4BA2F5616203CBC2F8100EC2F8141E1378042043F008031370384B02F5AA521B783D7845 :400F8000DBB298F80060EDB203F007010C321B091170F6B2537045F003033B7046F0030388F800302D4B48221A702D4A402313702C49937013729372082382F81F322022F7 -:400FC0000A7048710A72284A0A20137001F072FA264B88F8006044223D70254D1A7094E80F0007C52B80BDE8F08100BF00480040541000480F010049A14600402542004034 -:40100000224200400440004006400040A2430040A04300403B370000E8460040FCFFFF47A4000048007600405C100048F8460040087600400350014014100048C0510040B6 -:4010400020100048281000483410004840100048325100404C100048CF0100491D51004001590040235B0040585B004076580040B0430040F946004008B501F05DFE0368A7 +:400FC0000A7048710A72284A0A20137001F072FA264B88F8006044223D70254D1A7094E80F0007C52B80BDE8F08100BF004800400C1100480F010049A1460040254200407B +:40100000224200400440004006400040A2430040A04300403B370000E8460040FCFFFF47A40000480076004014110048F84600400876004003500140CC100048C051004045 +:40104000D8100048E0100048EC100048F81000483251004004110048CF0100491D51004001590040235B0040585B004076580040B0430040F946004008B501F05DFE03680E :401080000C2B00D1FEE7FEE7084908B50B68084A1844821A802A01DC086005E001F04CFE0C2303604FF0FF33184608BDCC80FF1F4087FF1F80B51148114B0025C0B1A3F1FB :4010C000100192C922460439161BB74204D051F8046F42F8046BF7E7114653F8046C8C1AA64202D041F8045BF9E701381033E5E701F028FEFFF776F9FEE700BF010000004B :401100000C390000124A134B10B51A60124A134C1368134843F4007313600023032B98BF54F823204FEA830188BF0E4A0133302B4250F3D10C4B1A780C4B1A700C4B084AD8 @@ -131,10 +131,10 @@ :402080001FD1114B9B78E3B9BDE83840FFF77EBE0D4B9B78012B14D1154A137843F0020313700AE0084B1A795AB998781B791749DBB2CA5C22EA0002CA54BDE83840FFF7DC :4020C000D9BA002038BD00BF006000407086FF1F7C86FF1FC83700002C380000B43700009F3800001487FF1F8886FF1F4186FF1F7F86FF1F8186FF1F6E86FF1F6C86FF1F4C :402100008086FF1F7D86FF1FF686FF1F8386FF1F074B1A78120609D55B78012B06D1054B054A5A6012781A80FFF7C4BB00207047006000407086FF1F8C370000014B1870D5 -:40214000704700BF75650040014B1878704700BF6C640040014B1870704700BF79650040064A0123136002F688321268E0211064034A1170A2F540721360704780E100E0FB -:4021800000E400E0014B1870704700BF7A640040014B1870704700BF7C64004073B515461E460B4C01230022019200920A4601461846237000F0F4F832462946207800F00D +:40214000704700BF74650040014B1878704700BF6A640040014B1870704700BF75650040064A0123136002F688321268E0211064034A1170A2F540721360704780E100E002 +:4021800000E400E0014B1870704700BF7A640040014B1870704700BF7B64004073B515461E460B4C01230022019200920A4601461846237000F0F4F832462946207800F00E :4021C000AFF80221207800F099F8207802B070BDD080FF1F064A0423136002F688321268E0219064034A1170A2F202321360704780E100E002E400E0014B04221A607047A2 -:4022000000E100E0014B04221A60704780E100E0014B1870704700BF78650040704738B505460078012428B100F0F2FC285D0134E4B2F8E738BD08B50D2000F0E9FCBDE8C7 +:4022000000E100E0014B04221A60704780E100E0014B1870704700BF75640040704738B505460078012428B100F0F2FC285D0134E4B2F8E738BD08B50D2000F0E9FCBDE8CB :4022400008400A2000F0E4BC024B1878C0F38010704700BF8F450040074A7F23802113705170064A013BDBB202F80839002BF9D1034A1370704700BFE080FF1FF87B00401A :402280000078004017280FD8084B0001C25C11B142F0200201E002F0DF02C254C25C42F00102C25400207047012070471070004017280BD8064B0001C25C02F0FE02C2547C :4022C000C25C02F0DF02C25400207047012070471070004017280DD8074900010B4603441A7942F004021A71435C43F00103435400207047012070471070004017280BD807 @@ -172,8 +172,8 @@ :402AC0001A7070470059004010B5084B1C7814F0010403D10028F9D0002404E02046FFF7E9FC024B1B78204610BD00BF01590040034A044B1B881088181A00B2704700BF9C :402B00000887FF1FA05B00400E4A13881BB223B111880A2309B2594301E00B4B19680B4B1B88C01A42F2107300B203FB00F2022391FBF3F30028D8BF5B42134493FBF1F05F :402B400000B270470A87FF1F1087FF1F0C87FF1F70470000034A00F0F800137803431370704700BF02410040034A00F0F800137803431370704700BF06410040014B187044 -:402B8000704700BF70640040014B1870704700BF7465004073B515461E460B4C0023019300930A46014618462370FFF7F9FB324629462078FFF7B4FB02212078FFF79EFBC0 -:402BC000207802B070BD00BFF880FF1F074A0223136002F688321268E0215064044A11706FF440710A441360704700BF80E100E001E400E0014B1870704700BF78640040B9 +:402B8000704700BF77650040014B1870704700BF7B65004073B515461E460B4C0023019300930A46014618462370FFF7F9FB324629462078FFF7B4FB02212078FFF79EFBB1 +:402BC000207802B070BD00BFF880FF1F074A0223136002F688321268E0215064044A11706FF440710A441360704700BF80E100E001E400E0014B1870704700BF79650040B7 :402C0000014B1870704700BF7464004000000000FEB5494652465B460EB40746244909688A46244A12682448022100F071F8030020480068C018204900F06AF814388346AF :402C40000121C9430C460125002600F041F8814651460B7823400B705846013000F030F83800F04028400B78234003430B70584600F026F80136072EF2D9002001300138D5 :402C8000013001200B78234003430B705846043000F016F8484600F01FF800BF00BF00BF0EBC894692469B46FEBD00BFAFF30080D480FF1FF480FF1F00C2010000000000C4 @@ -4098,75 +4098,75 @@ :40FF80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041 :40FFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 :0200000480007A -:400000000145004008520040015B00400164004050000140320101404F020140470301404E040140490501404F0601404C0701405808014057090140470A0140500B014081 -:40004000450C01404A0D01404E0E0140310F014042140140541501404C160140441701404E180140531901404B1A01405C1B01400C4001400F4101400B4201400D430140C9 -:400080000444014008450140084601400C4701400A48014012490140174C01400D4D014008500140045101407E0208060944108011801802601361197C402721290A02012C -:4000C00003300509060409090A010D890E010F241109120113121512160217091A011B0E1D401E0120072309258026012A072B092E012F09313832073380350737403B22FF -:400100003E043F40580459045B045C905F01801981788302841985088A698B388C198E448F80914092199311960E99219A199B409E199F43A019A222A619A822A908AA19FE -:40014000AB40AE19AF04B008B207B470B5F8B707BA28BB80BE01D804D904DC99DF0100840280030404840512060207010A110B480C010EA10F0411821316161017A6190877 -:400180001D141E241F0520022109221023F4240225102680284129082A102E102F01310832523682372038A439023C043D203E42451046086A80C0FFC2FFC4FFCA3FCCBF6C -:4001C000CEFF0108022903820501060909840A090B280C3F112F1209163F17081A091B071E09210122092328261927102A322B402C382E04302831603207331F341835802B -:400200003E153F104202460E480449FF4AFF4BFF4F83580459045A045B045C905D095F018001810182048302850186028B018D019001910195019B019C049D019E01A10159 -:40024000A501A901AA01AD01AF02B004B204B503B603BA80BE05BF10D804D904DC09DF01000A040205140601070109010A020C400E010F5413101410152017461820194287 -:400280001A321E401F2820082490251126022750285029502D022F283104329237153A013B543C043D023F10451057405C505E0A652066086782834090029204935C9424DA -:4002C000965199149A089C409D029F05A280A541A642AC41AE04C0FCC2F9C4F2CAEFCCEFCEEFD020D6F0D8F0E202E601EC080002020104020601080209F10A010C070F221A -:40030000100716061744180219881A011D011E05220124022601271129AA2A072B442C022DCC2E012F22330F360737F03E405608580459085B045C905D905F01800381017A -:40034000830884038512880389208B138C038F12900391129344960397609803990A9B059C03A003A310A403A912AA02AD13AE01AF20B203B307B570B708BB28BE04BF401F -:40038000D804D904DB04DC90DF010108028003050482051C09010A550E010F54135615A017091B401E202032224025402640272E28042A402B182E513028324037293810CF -:4003C00039403C043D803F1244014540584061406302680C69406F017B018308888889408D40908291809234935C944495209601978299149D209F07A101A282A401A5401F -:40040000A645A940AA10C0FFC2FFC4FFCABECCEECEFCD608D808DE08E248E6010001030204010702080109200B040C010E020F02100113101601170218011B281C011F02A9 -:4004400020012101240127022A012B022C012E022F0232033320351F39203E043F14580459045F01818082088301850486428720881089108B218E078F1C9007912193081A -:4004800094A5964299049A109C079D3CA0C6A221A340A484A501A780A807AB02AE21AF20B00FB17CB4F0B580B60FB703BA82BB80BF10D804D904DC99DF01002A0180040224 -:4004C0000554070108860A080E410F14102011501240158016801728188019831A081B101F082044215022202301272428202B492C012E042F443140321236A03719384429 -:400500003B113C103EB13F468060880289108B208D03900291409274935C9444952096019782988599149B099D209E40A034A101A292A340A605A710B040B420C0FFC2FFA0 -:40054000C4FFCAFFCCFDCEFFE001E208E606E880EE0800C6022106080A100C071007110D1407150119101A421C841F05200724A526422A212D0A30E03103321F330C34E0AF -:4005800035103E013F10580459095B045C995F0181028204844085088606870189028A028C7F8D029087911C920893039406950298569AA19B029C119D109EA6A102A20108 -:4005C000A503A601A704A806A902AC06AD02AE78B07FB31FB680BE41BF04C052C502C801C9FFCAFFCBFFCD20CEF0D110D804D904DA04DD09DF01E108E240E340E480E6408A -:40060000E740012003A104020504070908400A520B080D050E200F151001110612081448170419421E201F16220424042606282129212B812F0131183201334036A6382100 -:400640003B88400449404A205C025E026C076F047D10802081408204870289018B148C208E018F40911092169385942895C596089708988899B19B099C349EA69F40A20154 -:40068000A320A460A51DA610A709AF40B210B380B548B701C0FFC2FFC47FCA1FCCFFCE0FD004D208DE20E040E2A0E440E602EE1A020103040601073F0801093F0C010D0139 -:4006C0001202133F140117101A041B021C011F3F2001213F2401253F28012B202C082F083008333F360738803E013F04580459045B045C095F0181028402850289028A1006 -:400700008C048D0290049103960498049B039C049D01A102A208A502A604A902AA03AE04AF02B201B402B503B61CBA80BE10BF10D608D804D904DB04DC09DD90DF0101880C -:400740000240030804100504070108450A080C200E220F80100211011214151216201740188019801A021B401D141E061F602010270828222B482C402EAA300432023350F8 -:400780003401361037413AF23B083D65460C47104A035C025D015F4067016802804489108A018B048C08910292109420958596029788988099219B019C149D109EA49F4061 -:4007C000A460A51DA610A7E1C0EFC2FFC4FFCAFFCCBFCEFFD610D810E0C1E228E42000010108050806020A3F0B020C3F0D08103F110F163F170F19011A201C3F1D04210371 -:400800002208230C2508261029082A042E3F2F08310F323F3E043F01580459045B045F018101823F833085DD863F89DD8A048E088F4791CC923F932295019610978899DD1D -:400840009A209C3F9D1DA03FA3DDA43FA5DDAA02ABDDAC01ADDDB103B23FB33CB5C0BE04BF15D804D904DF01008001020215052006A10720081409010A020C500D400E202C -:400880000F801021110113201505160C17401A201C20200821012204248029142B412C012EA82F8030203108324033113514374138223A403B983C803D853F105E806610F3 -:4008C00067086D406F01788079409002929094A09541962A970899279C409D109E409F51A240A434A55DA7E1C0FFC2FFC4FFCAFFCCFFCEFFD610E202E601EC0802010301F3 -:4009000004080506070109060A040C010D030F081101120113061408150619071A021E011F0120012101230C2401270628082B022C012D063008330F340736073AA33F04C4 -:40094000580459045C095F01820183088403850E8A038B018D218E048F4E917F9203950E9602977098039B0E9C109F01A003A304A403A50FA710A803A92EAB41AE08AF02F3 -:40098000B010B17FB20FBE01BF01D608D804D904DB04DC09DD90DF0100280140038004840510064009410A280D080F85104112181795180219A31A801D041E902208278034 -:4009C00029212A102B212C202D822F04302131043201334435143741382039413B0C3C043D283F825E4067018E40C0FFC2FFC4FFCAFFCCFFCEFFD610D8100003020C030827 -:400A0000077F0B100F3F113F150117401B041D3F1E05213F273F280C2A032B202F023004314032023401353F360838AA3E553F115608580459045B045D905F01802084015C -:400A4000850189048B088C0F8F0892079307940496089A089B10A008A108A202A302A401A608A901AA10AB08AD0FB01FB11FB220B41FBE04D804D904DB04DC99DF01000233 -:400A800004040640070109400E800F14100815011620172019421A081B081EA821222601288029202A802B202D012E202F0230803119362138883A113C043F5058105A40BB -:400AC0005D405E206240630868096D8080508140820183048565868088A089028A108B088D38900C9101924093549420950A9608989099019A209B219D109E80A220A322DE -:400B0000A4A0A502A605A804B010B204B640C0B8C271C472CABFCCAFCE7FD63CD80CE2AFE602EA01EE030020011F0401070908010A080B1F0E070F03111F14E017011A086B -:400B40001B1E1C481E021F01200F2280230124E0270528042A482B112E102F01301F31053309350336E0371138803F55580459045C095F0181018409870189018A388C7922 -:400B80008D018E048F0292019301940995019640970299019A409D019E06A041A101A212A701A822A901AA41AD01AE80B4F8B607B703BA80BF40D804D904DC09DF0100040D -:400BC00001200301045508010A110B080C400E241040118213101510174519201A011C411F412002254026202760288029102A802B202C012E052F0430A031063680371960 -:400C000038A0390A3D133F5443038104880490949214935C96019782988199019A209B1D9D20A004A101A290A320A401A605AE40B580C0F7C2EFC4FBCAFFCCFFCEFFE220DC -:400C4000E601EA08EE0400320402066008320C010E380F011033110112041432150419101A321C321D0C201F211022402433260C28322C022D022E103104320F331034700B -:400C8000350837033B083E143F015608580459045B045C905D905F018105820884038505892C8A028B028C038D088F029113920193209403950599059A039D0F9E049F1042 -:400CC000A105A203A403A505A803A910AC03AF05B00FB40FB53FBF10D804D904DB04DC09DF0100040102030505E1061008020A160E140F82104011081201131014821508B5 -:400D0000171018441B011D041F102220242025472688275829102A822B202F4130183140330136223788382039413A043D804508461047045F40670269906C018080850152 -:400D40008B4091089214931894209545970298C299B39A019B019C149D049EA69F40A020A202A340A440A51DA688A70DAB04AC02B401B670C0FFC2FFC4FFCA9FCCFFCE1FDB -:400D8000D610D810E402EC40010202080602080809010E0F1004160118031A0C1C0F2008240828082C0831013502360F3E403F11580459045F018080830184808704888008 -:400DC0008B018C3D8D488EC08F20903091019480954999409A039B309C809D489F10A056A101A40CA640A702A8A9AB49AC80AD49B140B307B538B6FFBB08BE40C001C60CB8 -:400E0000C70EC814C9FFCAFFCBFFD004D601D804D904DA04DB04DC90DD09DF01E2C000400240031805A10720088009010A100B080C200D020E180F0210881201130814C27A -:400E4000150817101A021F40200821012508262027A02C402D802F1436263780380239103C203D0A3F804780574458045A046C806D656E046F2A745876F7770880808108B5 -:400E8000820284108610870A88048A048B088D048E829042911892109328954796029780988299A19B109C149EA69F80A020A103A301A448A518A72CA940AB40C0FFC2FF58 -:400EC000C4FFCAF0CCF0CEF5D010E240E440E6B0E880EA20EE4212801704312033043402368038023B403E40C430CCF0CE703180320435803602800282408602940296404A -:400F000097409C02A520CCF0E260E6805320542085808E809402960897409D80A5A0D460E21085A094029740A280A420A5A0A610A720AE04B210E210E640EE1014808E019F -:400F4000C404E602670882408510930898809E01AF04D8011A80820284049520968098809E01C6080B280C040D108710952097089C049E01A202AC80AF04C20F26108B0880 -:400F80009740A280A420A610A720A801C820EE205280570875087880872088808908A280A308A720A820AF40D460DC80DE20E610EA80EE40060108020C800D011F105220BF -:400FC00057105F406202862089019E01A202A310B710C001C20DC601D406D604D802E204E80875028B4097409902AF10B002B102B480DE04E004E801EA04EE02010109013A -:401000000B010D010F0111011B011D0100FF01AB02021005BF0000A09F001F000000000000000000100000004000000000000000C0000000FF0000B8470047000001000003 -:401040008000000080008000000000000003030003000000270018012700180100010000000000000000000000000000000000000000000000000000000000000000000066 -:401080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030 -:4010C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F0 -:4011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AF +:400000000145004009520040015B00400165004050000140410101404E0201404D0301404704014057050140440601405C0701404F0801405A090140430A0140520B014067 +:40004000490C0140510D01404D0E0140370F0140441401405A1501404A1601405D1701404218014070190140551A0140561B01400B4001400E4101400C4201400D43014086 +:4000800002440140074501400A460140114701400948014010490140184C01400B4D014008500140045101407E02080409421080110218011902600361197C4027212A0AA6 +:4000C000012102090528060B07420A090B070E090FC0112F125613801609170819211A491B081E0D1F20227F23102447262029442A092B282C7F3003320533E03438351F3E +:40010000364137E03B883E55580459045C905F01811985198607872288018A088B0E8F19900F924093699680971999199A689E109F19A122A319A408A622A719A824AA088E +:40014000AB19AC01AD19AF44B21FB307B4E0B508B770BA20BB88BF10D804D904DC99DF010002018003140504070809410A040B200C020E2510A21110120814041610174060 +:40018000180419021A011B081C081D041E041F202170220823112432254826902712280429022C822D102F1030023108322033803660370639A13B043C103D033F846104F2 +:4001C00063208140842186528704880289408B108C10C06FC2FFC4EFCAF5CCFFCEFFE001E20A0001040105080602070409200A010B010C010D040F08100112021302140178 +:400200001501172018011C012001240125092A012B092C012F10310433033520360337183B883E403F11580459045C905F018001830284018520870488018B028C018E0230 +:400240008F029001920293109401970298019B029E019F28A001A302A401A702A804AA01AB02AC01AD01AE04B004B120B31FB603B908BE41BF05D804D904DB04DF010008A2 +:400280000280030504020601072808100A820B200C020D480E0810041108120213011445170419801A401E0220202201241425412630276928022A202BA02CA42D8130126E +:4002C00033543609380639803B203C103D803E0468026A8087048C849002918093119720984599409A719B109F4CA024A12CA282A370A403A501A660A780A984AA21AB4032 +:40030000B0C4B140B328B414C0FFC2FFC4FFCA7FCCCFCE7FE208EA04003F01F1043F05880A3F0B440C3F0F221208150116021A3F1DAA1E3F1F44220426102A202B112C011D +:400340002DCC2F22310F33F0363F3E404204470E481049FF4AFF4BFF4F83580459085A045B045C905D095F018011860188508A288C088E4090119101922496019A069E113E +:40038000A011A601A802AA19AC19AE02B040B238B407B501B640BA28BE41BF10D804D904DB04DC09DF010020010202200302041005800620074008280B810C020E0A0F1064 +:4003C000104011201201130414051501170418021C121E8A1F90208021012208240829202A80318032083701395A4240530459455B105C805D8061206240636069506A10F4 +:400400006B026F017880842085888B228C0491019240935096049728981599409A709B409F04A006A121A292A350A401A64CA780AC02AF40B010B402B501C0FFC2FFC4FFF2 +:40044000CA0CCC8ACE0FD001D60FD80FDE08E20AE602EE02030E070108070B010F05110F170318041B011F012301260527092B0F2C0A2D0F3105320C3303340337093F4582 +:40048000580859045C095F018011830484188620870188118B588C018D0191089204950196019A119B019C109D489E289F20A010A302A401A711A911AA01AD11AE02B0074C +:4004C000B140B308B408B530B630B707BA02BB80BE10BF04D804D904DC99DF01004401020208041008280A410E0410A0136014021708184019401A011B101C101E041F08BF +:40050000202421D0220523212504274128A02A202B012C062F9031483221341036823704380239A03B083C083D033F9048024A015A205B207A107B207E047F0583108740A0 +:4005400089828A408B018D10900291409210933095089604978598149A109C689DA79E819F34A066A109A2D6A3C0A410A510A620A702AF10B110B601B704C04FC24FC4AFEA +:40058000CAFFCCFFCEFFDE10E208E401E60CEA04EC02EE04004A01520211048005530642070409520A010D520E801002115F121C13A0150116011758184319521A041C022A +:4005C0001D531F0C20DF2102232024092512265227802A202B522C802D52303F32C0330F35C037303A083F54580459045C095F018204830F84048508880189038B0C8C07C8 +:400600008D089004930894029501980499049E079F02A004A108A404A508A804A908AC01AD0FAE06B007B50FBE01BF10D804D904DF010108034904020584070409180A0172 +:400640000B800D0A0E010F081080118412041401152017091A401D061F092110250426602AA62F99316533203440352036803709388039043A103B023CE03D013E013F18DC +:400680005A205B10660267808002820484808540861089818B1092019404951496C09702989099409A809B019C609D2D9E2E9F08A051A180A210A4A4A502A68AA70EA80403 +:4006C000AC02B080B210B348B440B511B710C0FFC2FFC4FFCAFFCCFFCEFFE060E480E608E890EC10EE0402070301060207040A040B080D4F0E070F901110120813E0170F9D +:4007000018071B0F1C071F0220012150238F24072710291F2A072B202DFF2E1031FF361F3F01580459045B045C095F018001813F86028704880F8B028F3F9101920F953F69 +:40074000960F980F993F9E109F3FA20FA308A40FA710AA04AB20AE08AF3FB13FB21FBA08BF01D804D904DB04DC09DF01010802840302050106200708082009400A400C01AF +:400780000D080F0A1208134A14401504160A19401A031C201D0823402601284029042A802B042C802D142F0230A03209342035013680370A39143A023B803C803E2A428064 +:4007C00043015A8068016DC06F0184048701881194809554960197029C229D209E029F09A040A180A301A4B0A51BA683A71CAF12B310B501B620B740C07FC2FBC4FFCAFF08 +:40080000CCFFCEFFD608E030E208E420E810ECC0010202080503060409020C020D010F0411031304140E15011702180E19021C011D021F0120042301240127012B022D023D +:400840003001340E350738203A033F10580459045C095F0180088103820784068503860189038A088D038E0790089103940196169703980F99039C089F02A103A202A40774 +:40088000A503A608AA04AB01AC09AD03AE10B01FB503BE01BF10D608D804D904DB04DD90DF01010402820308050507020820090A0A010D200E020F101080115013081640E2 +:4008C00017041B011C801F10212027042802290B2A202C202E022F0931043352352036803709388039203A083B813CA03E013F085840618084408C028E20912093019480E6 +:400900009780990C9A489B109D029E209F40A302A402A511A620A710A920AA40AB10B051B118B206B310B609C0BFC2EFC43FCAFFCCFFCEFFD608D808E208E440E608E8B05C +:40094000EC60EE80020103050601070709020A010B010D020E010F0111021201130115021607170119021A011B011C071D07210222012301260427012A012B062D072E02B2 +:40098000310734073E103F01580459045F0180AF8320848087088B208E408FC09008912F9202938094049628970799449A079B289D219E08A210A320A401A620A710A921F7 +:4009C000AB08AC01AD28AE08AF42B060B280B3E0B41FB51FBB08D804D904DC99DF010086030804080502060109290B020D020E280F01100211201220130115021620174062 +:400A000018081C201D0E1E281F27210127182A622B122E202F52308031013318350236103748388039203B093E443F2183018502870888808B288C048D01C0BFC2FFC4BF14 +:400A4000CAFFCCFFCEFFE020E280E4C000BF01010501061008BF0B010D010E3F12081301143F1501170219011A7F1D011E042101222023022602270129012ABF2C012D011A +:400A80002E40303F3480364037033E513F40580459045B045F0182018602880189048A028E40903C91029404962097019A209E1CA004A420A608A810A901AA20B07CB40316 +:400AC000B503B704BF40D608D804D904DB04DC99DD90DF0100480112020804040640070508480A880C020E291221132114041501161019101A421C041D011E04228025807F +:400B00002708282829022B012F083108326133043402370838203B853D2059015A015E80640268016DA084018664874089C08E18906091019298930595109640986C9902C9 +:400B40009A519B219C029D119E209F08A006A108A234A309A680A950AA01AB01AC20AD04AF40B040B104B208B305B580C0FFC2FFC47FCA2FCCCFCE2FD610D810E002E288B0 +:400B8000E408E6B2EA0DEE0A0210060707100B201128120813421401160817C81B071C0F1F20200121212408252126022708280429442A082B282D2F2F80321F331F35E00E +:400BC0003B205608580459045B045C995D905F01810282078502861088C689028A218C108D049084910295039642980799019C079D02A208A302A4A5A642A703A807A902F2 +:400C0000AD02AE21B00FB303B4F0B504B6E0BA02BF14D804D904DB04DC09DF010084010202040504074008200A110B800E220F8011541280140415011610180419221A01BB +:400C40001D0421102208271428282A012B012C062D012F2031883250330236423714382039803B053D083F1058205B205F40658066406702698081028220840887428804DA +:400C800089108A018C108E84904091419238931095089640970698049A109B419C6A9DB79EE19F1CA042A10CA257A368A510A620A8C0AE08AF42B090B720C03FC2BFC47F96 +:400CC000CAFFCCFFCE6FD610D810E208E404E609EA0CEC04EE0B00080184020104020708080209A50B420C020D07100211C613211402150718101B421C0220022310241C62 +:400D00002603272129072A022C032D072E04341F35E0371F3E103F104001450C46E0480949FF4AFF4BFF50045609580459045A045B045C905D995F0162C080019D01A102C3 +:400D4000AD04B201B302B504B701BE04BF54D608D804D904DB04DD90DF0100020442052007100D220E010F101562170818101F102104225024062540268029422C142E805E +:400D80002F403180361037093D883E103F014108422044024C10571059105B805C806008614066406701680469806A106B016CC06D366E046F8674507509762E77407920A8 +:400DC0007B08802081408208830484108508884C89048C108D508E088F02904091039201931094A69514968098929A809B109C219D299E2E9F4CA001A1A6A212A328A48491 +:400E0000A550A68CA714A810AA10AB90AE40AF08B120B220B302B420B508B602C0F8C2F0C4F0CAF9CCE8CEF0D010D61CD81CE220E4A0E650EA20EC90EE0800010104050180 +:400E4000061F070A081F09040D170E081104122016021702181F19031B141D041E1F1F13201F21022301261027032A042B042D052E1F2F083110343F370F3A203F414043F4 +:400E80004520480249FF4AFF4BFF4D204EF05110580459045A045B045C095D095F016108624063406480664067408302840A8501860589018D019005920A950199019F01DF +:400EC000A101A704A901AA06AF01B004B202B408B507B601B8AAB920BE55D804D904DB04DC90DF0100940340040809680A800E801080110412061408180419201E091F05ED +:400F0000210122402520262027082A802BA92D102F92312232803304350836203740380439413B103CA03D043F024105490258405A205C306C046E808301840985208A0184 +:400F40008B048F08915D92209330986099089A849B449C019D229F08A0D0A14AA282A3AAA604A903AB04AEC0AF80B004B206B340B501C02FC21FC44FCAFFCC7FCEFFD00335 +:400F8000D60CE020E280E404E6C2EAB2EC84EE221280170431203304368438083B403D10C430CCF0CE70320433803580360885108608940895109740A520A604CCF0E21028 +:400FC000E6105280540885809408960897409D80A520A604A780D460E21082808604940896089740A408A680A780A920AA04E630EA20EE201410C404530166808540860131 +:401000009810D401D6011B0484048F109601970298109D409E80C608E00808080B080C040E0187048F01960197029C049D409E80A310AB04B010C20FE002EA042640864076 +:401040009740A408A804AF80C820E440EE905102572072207508880889088A208D02A320A408AB20AF40D4C0DC80DE20EE6005400A200D100E801F105001530857106080B4 +:401080008A808C808E109D409E80A310AC08C001C20DC601D407D802E008E202E4047001800186408B08A240A708A801AD10AF10DC01E004010109010B010D010F01110150 +:4010C0001B011D0100FF01AB02021005BF0000A09F001F000000000000000000100000004000000000000000C0000000FF0000B847004700000100008000000282008200F9 +:401100000000000000030300030000002700180127001801000100000000000000000000000000000000000000000000000000000000000000000000000000000000000025 :40114000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006F :40118000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002F :4011C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EF @@ -4615,12 +4615,12 @@ :0200000490105A :04000000BC90ACAF55 :0200000490303A -:020000004F07A8 +:020000006DABE6 :0200000490402A :4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C0 :400040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080 :400080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040 :4000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 :0200000490501A -:0C00000000012E16106900002E305F7009 +:0C00000000012E16106900002E307E1446 :00000001FF \ No newline at end of file diff --git a/FluxEngine.cydsn/FIFOout/FIFOout.v b/FluxEngine.cydsn/FIFOout/FIFOout.v index 232593e6..feccfa45 100644 --- a/FluxEngine.cydsn/FIFOout/FIFOout.v +++ b/FluxEngine.cydsn/FIFOout/FIFOout.v @@ -20,33 +20,34 @@ module FIFOout ( wire [7:0] po; assign d = po; -localparam STATE_WAIT = 1'b0; -localparam STATE_READ = 1'b1; +localparam STATE_WAITFORREQ = 0; +localparam STATE_READFROMFIFO = 1; +localparam STATE_WAITFORNREQ = 2; -reg state; -reg oldreq; +reg [1:0] state; +wire readfromfifo; -assign ack = (state != STATE_READ); +assign ack = (state == STATE_WAITFORNREQ); +assign readfromfifo = (state == STATE_READFROMFIFO); always @(posedge clk) begin case (state) - STATE_WAIT: + /* opcode is not valid; req is low; wait for req to go high. */ + STATE_WAITFORREQ: begin - if (!empty) - begin - if (req && !oldreq) - begin - state <= STATE_READ; - end - oldreq <= req; - end + if (!empty && req) + state <= STATE_READFROMFIFO; end - STATE_READ: - begin - state <= STATE_WAIT; - end + /* Fetch a single value from the FIFO. */ + STATE_READFROMFIFO: + state <= STATE_WAITFORNREQ; + + /* opcode is valid; ack is high. Wait for req to go low. */ + STATE_WAITFORNREQ: + if (!req) + state <= STATE_WAITFORREQ; endcase end @@ -55,11 +56,11 @@ cy_psoc3_dp #(.cy_dpconfig( `CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, `CS_SHFT_OP_PASS, `CS_A0_SRC_NONE, `CS_A1_SRC_NONE, `CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, - `CS_CMP_SEL_CFGA, /*CFGRAM0: STATE_WAITFORREQ*/ + `CS_CMP_SEL_CFGA, /*CFGRAM0: idle */ `CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, `CS_SHFT_OP_PASS, `CS_A0_SRC___F0, `CS_A1_SRC_NONE, `CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, - `CS_CMP_SEL_CFGA, /*CFGRAM1: STATE_LOAD*/ + `CS_CMP_SEL_CFGA, /*CFGRAM1: read from fifo */ `CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, `CS_SHFT_OP_PASS, `CS_A0_SRC_NONE, `CS_A1_SRC_NONE, `CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, @@ -102,7 +103,7 @@ cy_psoc3_dp #(.cy_dpconfig( )) dp( /* input */ .reset(1'b0), /* input */ .clk(clk), - /* input [02:00] */ .cs_addr({2'b0, state}), + /* input [02:00] */ .cs_addr({2'b0, readfromfifo}), /* input */ .route_si(1'b0), /* input */ .route_ci(1'b0), /* input */ .f0_load(1'b0), diff --git a/FluxEngine.cydsn/FluxEngine.cydwr b/FluxEngine.cydsn/FluxEngine.cydwr index c2e8b64e..594b91d3 100644 --- a/FluxEngine.cydsn/FluxEngine.cydwr +++ b/FluxEngine.cydsn/FluxEngine.cydwr @@ -851,6 +851,7 @@ + @@ -3977,6 +3978,11 @@ + + + + + diff --git a/FluxEngine.cydsn/FluxEngine.cyprj b/FluxEngine.cydsn/FluxEngine.cyprj index 423691ed..fe0001b3 100644 --- a/FluxEngine.cydsn/FluxEngine.cyprj +++ b/FluxEngine.cydsn/FluxEngine.cyprj @@ -2762,6 +2762,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FluxEngine.cydsn/Sequencer/Sequencer.v b/FluxEngine.cydsn/Sequencer/Sequencer.v index d7c44cd3..9c843d87 100644 --- a/FluxEngine.cydsn/Sequencer/Sequencer.v +++ b/FluxEngine.cydsn/Sequencer/Sequencer.v @@ -40,9 +40,7 @@ always @(posedge clock) olddataclock <= dataclock; assign dataclocked = !olddataclock && dataclock; reg oldsampleclock; -wire sampleclocked; -always @(posedge clock) oldsampleclock <= sampleclock; -assign sampleclocked = !oldsampleclock && sampleclock; +reg sampleclocked; reg oldindex; wire indexed; @@ -57,11 +55,18 @@ begin countdown <= 0; end else + begin + if (!oldsampleclock && sampleclock) + sampleclocked <= 1; + oldsampleclock <= sampleclock; + case (state) STATE_IDLE: state <= STATE_LOAD; STATE_LOAD: + /* Wait for a posedge on dataclocked, indicating an opcode has + * arrived. */ if (dataclocked) case (opcode) OPCODE_PULSE: @@ -80,10 +85,10 @@ begin STATE_WAITING: if (sampleclocked) begin + sampleclocked <= 0; + countdown <= countdown - 1; if (countdown == 0) state <= STATE_LOAD; - else - countdown <= countdown - 1; end STATE_PULSING: @@ -92,9 +97,8 @@ begin STATE_INDEXING: if (indexed) state <= STATE_LOAD; - else - state <= STATE_INDEXING; endcase + end end //`#end` -- edit above this line, do not edit this line diff --git a/FluxEngine.cydsn/TopDesign/TopDesign.cysch b/FluxEngine.cydsn/TopDesign/TopDesign.cysch index f483823f91059c21dfab02d93ef9aaa4943dd600..ce2d3c0b5b85b4fb0121ab6027fa7c13ca6a7bad 100644 GIT binary patch literal 256870 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 literal 251362 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�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 QVb!~~1fJI|4i3cs0IT$y_5c6? diff --git a/FluxEngine.cydsn/main.c b/FluxEngine.cydsn/main.c index 26d3f9d2..d4a306f1 100644 --- a/FluxEngine.cydsn/main.c +++ b/FluxEngine.cydsn/main.c @@ -334,7 +334,7 @@ static void cmd_read(struct read_frame* f) { uint8_t i = CyEnterCriticalSection(); - SAMPLER_FIFO_SET_LEVEL_MID; + SAMPLER_FIFO_SET_LEVEL_NORMAL; SAMPLER_FIFO_CLEAR; SAMPLER_FIFO_SINGLE_BUFFER_UNSET; CyExitCriticalSection(i); @@ -490,7 +490,7 @@ static void cmd_write(struct write_frame* f) SIDE_REG_Write(f->side); { uint8_t i = CyEnterCriticalSection(); - REPLAY_FIFO_SET_LEVEL_NORMAL; + REPLAY_FIFO_SET_LEVEL_MID; REPLAY_FIFO_CLEAR; REPLAY_FIFO_SINGLE_BUFFER_UNSET; CyExitCriticalSection(i); diff --git a/protocol.h b/protocol.h index de7c257e..79cbba54 100644 --- a/protocol.h +++ b/protocol.h @@ -3,7 +3,7 @@ enum { - FLUXENGINE_VERSION = 11, + FLUXENGINE_VERSION = 12, FLUXENGINE_VID = 0x1209, FLUXENGINE_PID = 0x6e00,