{"action":"created","issue":{"url":"https://api.github.com/repos/m-labs/artiq/issues/1022","repository_url":"https://api.github.com/repos/m-labs/artiq","labels_url":"https://api.github.com/repos/m-labs/artiq/issues/1022/labels{/name}","comments_url":"https://api.github.com/repos/m-labs/artiq/issues/1022/comments","events_url":"https://api.github.com/repos/m-labs/artiq/issues/1022/events","html_url":"https://github.com/m-labs/artiq/issues/1022","id":327865304,"node_id":"MDU6SXNzdWUzMjc4NjUzMDQ=","number":1022,"title":"SAWG not generating sinusoids when amplitude >=0.9","user":{"login":"jbqubit","id":20543958,"node_id":"MDQ6VXNlcjIwNTQzOTU4","avatar_url":"https://avatars1.githubusercontent.com/u/20543958?v=4","gravatar_id":"","url":"https://api.github.com/users/jbqubit","html_url":"https://github.com/jbqubit","followers_url":"https://api.github.com/users/jbqubit/followers","following_url":"https://api.github.com/users/jbqubit/following{/other_user}","gists_url":"https://api.github.com/users/jbqubit/gists{/gist_id}","starred_url":"https://api.github.com/users/jbqubit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbqubit/subscriptions","organizations_url":"https://api.github.com/users/jbqubit/orgs","repos_url":"https://api.github.com/users/jbqubit/repos","events_url":"https://api.github.com/users/jbqubit/events{/privacy}","received_events_url":"https://api.github.com/users/jbqubit/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":19,"created_at":"2018-05-30T19:21:04Z","updated_at":"2018-06-04T15:14:47Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Running ARTIQ built from 8fd57e6ccb6e5070d3dc988a9d5550b295621d72. Board boots, Ethernet ping works (0% packet loss) and HMC830 lock is fine. Running the following ARTIQ python program. Looking at SMP outputs on scope for four of eight channels. Expectation is sinusoids at 49 MHz. Observe digital-looking output on DACs. \r\n\r\n```\r\nfrom artiq.experiment import *\r\n\r\n\r\nclass SAWGTestSines(EnvExperiment):\r\n    def build(self):\r\n        self.setattr_device(\"core\")\r\n        self.setattr_device(\"ttl_sma_out\")\r\n        self.sawgs = [self.get_device(\"sawg\"+str(i)) for i in range(8)]\r\n\r\n    @kernel\r\n    def run(self):\r\n        self.core.reset()\r\n\r\n        for sawg in self.sawgs:\r\n            delay(1*ms)\r\n            sawg.reset()\r\n            delay(100*ns)\r\n            sawg.amplitude1.set(.9)\r\n            sawg.frequency0.set(49*MHz)\r\n\r\n        while True:\r\n            delay(0.5*ms)\r\n            self.ttl_sma_out.pulse(0.5*ms)\r\n```\r\n\r\n![tek000](https://user-images.githubusercontent.com/20543958/40742599-0ae0db8c-641d-11e8-9d58-8172f5b79247.png)\r\n"},"comment":{"url":"https://api.github.com/repos/m-labs/artiq/issues/comments/394391309","html_url":"https://github.com/m-labs/artiq/issues/1022#issuecomment-394391309","issue_url":"https://api.github.com/repos/m-labs/artiq/issues/1022","id":394391309,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NDM5MTMwOQ==","user":{"login":"jbqubit","id":20543958,"node_id":"MDQ6VXNlcjIwNTQzOTU4","avatar_url":"https://avatars1.githubusercontent.com/u/20543958?v=4","gravatar_id":"","url":"https://api.github.com/users/jbqubit","html_url":"https://github.com/jbqubit","followers_url":"https://api.github.com/users/jbqubit/followers","following_url":"https://api.github.com/users/jbqubit/following{/other_user}","gists_url":"https://api.github.com/users/jbqubit/gists{/gist_id}","starred_url":"https://api.github.com/users/jbqubit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbqubit/subscriptions","organizations_url":"https://api.github.com/users/jbqubit/orgs","repos_url":"https://api.github.com/users/jbqubit/repos","events_url":"https://api.github.com/users/jbqubit/events{/privacy}","received_events_url":"https://api.github.com/users/jbqubit/received_events","type":"User","site_admin":false},"created_at":"2018-06-04T15:14:47Z","updated_at":"2018-06-04T15:14:47Z","author_association":"CONTRIBUTOR","body":"What I assume:\r\n- JESD is agnostic about its data payload\r\n- it's always running at full data rate (600 MHz right now)\r\nWhat I see:\r\n- JESD can successfully transmit data for a variety of waveforms without error\r\n- by changing a SAWG-argument I get glitches\r\nConclusion:\r\n- this isn't a JESD issue. \r\n\r\nDetail. I can produce complex waveforms indefinitely (>10 minutes) if i avoid certain SAWG parameters. See for example the following where frequency sweeping works (over narrow range) provided I don't sweep amplitude. If I add amplitude sweep there are glitches in sinusoid. \r\n```\r\nfrom artiq.experiment import *\r\n\r\nclass SaymaManyTests(EnvExperiment):\r\n    def build(self):\r\n        self.setattr_device(\"core\")\r\n        self.setattr_device(\"ttl_sma_out\")\r\n        self.sawgs = [self.get_device(\"sawg\"+str(i)) for i in range(8)]\r\n\r\n        nstep = 20\r\n        amp0 = 0.5\r\n        amp1 = 0.5\r\n        #amp1 = 0.6  # this causes glitches\r\n        self.amps = self.linspace(amp0, amp1, nstep)\r\n        self.amps.extend(self.linspace(amp1, amp0, nstep))\r\n        f0 = 2*MHz\r\n        f1 = 4*MHz\r\n        self.fs = self.linspace(f0, f1, nstep)\r\n        self.fs.extend(self.linspace(f1, f0, nstep))\r\n\r\n\r\n    def linspace(self, start, stop, num):\r\n        dx = (stop-start)/(num-1) \r\n        return [start+n*dx for n in range(num)]\r\n\r\n    @kernel\r\n    def run(self):\r\n        self.core.reset()\r\n        delay(1*ms)\r\n        for sawg in self.sawgs:\r\n            sawg.reset()\r\n            delay(1*us)\r\n\r\n        delay(1*ms)\r\n        while True:\r\n            for amp in self.amps:\r\n                for f in self.fs:\r\n                    for sawg in self.sawgs:\r\n                        sawg.amplitude1.set(amp)\r\n                        sawg.frequency0.set(f)\r\n                        self.ttl_sma_out.pulse(50*us)\r\n                        delay(50*us)\r\n```"}}
{"actor":{"display_login":"jbqubit"}}