Exemplo n.º 1
0
        public static void RunTest()
        {
            DesignContext.Reset();

            TestHLS_CordicSqrt_Testbench tb = new TestHLS_CordicSqrt_Testbench();

            DesignContext.Instance.Elaborate();
            DesignContext.Instance.Simulate(new Time(100.0, ETimeUnit.us));
            DesignContext.Stop();
            XilinxIntegration.RegisterIPCores(DesignContext.Instance.Descriptor);
            DesignContext.Instance.CompleteAnalysis();

            // Now convert the design to VHDL and embed it into a Xilinx ISE project
            var docproj = new DocumentationProject(@".\hdl_out_TestHLSSqrt_Cordic\doc");
            var project = new XilinxProject(@".\hdl_out_TestHLSSqrt_Cordic", "TestHLSSqrt_Cordic");

            project.ISEVersion = EISEVersion._13_2;
            project.PutProperty(EXilinxProjectProperties.DeviceFamily, EDeviceFamily.Virtex6);
            project.PutProperty(EXilinxProjectProperties.Device, EDevice.xc6vlx240t);
            project.PutProperty(EXilinxProjectProperties.Package, EPackage.ff1156);
            project.PutProperty(EXilinxProjectProperties.SpeedGrade, ESpeedGrade._2);
            project.PutProperty(EXilinxProjectProperties.PreferredLanguage, EHDL.VHDL);
            project.SetVHDLProfile();
            //project.SkipIPCoreSynthesis = true;

            VHDLGenerator codeGen = new VHDLGenerator();

            SynthesisEngine.Create(DesignContext.Instance, project).Synthesize(tb, codeGen);
            SynthesisEngine.Create(DesignContext.Instance, docproj).Synthesize(new DocumentationGenerator());
            project.Save();
            docproj.Save();
        }
Exemplo n.º 2
0
        public static void RunTest()
        {
            DesignContext.Reset();
            Testbench tb = new Testbench();

            DesignContext.Instance.Elaborate();
            DesignContext.Instance.Simulate(101 * Testbench.ClockPeriod);
            DesignContext.Instance.CompleteAnalysis();

            VHDLGenerator        codeGen = new VHDLGenerator();
            DocumentationProject proj    = new DocumentationProject("./doc");

            SynthesisEngine.Create(DesignContext.Instance, proj).Synthesize(codeGen);
            proj.Save();
        }
Exemplo n.º 3
0
        public IActionResult CreateProject(CreateProjectViewModel model, List <string> selectedUsers)
        {
            ViewData["Section"] = "Admin";
            var usersToAdd = _context.Users.Where(currentUser => selectedUsers.Contains(currentUser.UserName)).ToList();

            if (selectedUsers.Any(selected => usersToAdd.All(foundUser => foundUser.UserName != selected)))
            {
                ModelState.AddModelError("", "Unrecognized user selected");
            }
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var projectToAdd = new DocumentationProject
            {
                IsPublic    = model.IsPublic,
                Name        = model.ProjectName,
                PathToIndex = model.PathToIndexPage
            };

            _context.DocumentationProjects.Add(projectToAdd);
            _context.SaveChanges();
            if (usersToAdd.Any())
            {
                foreach (var currentUser in usersToAdd)
                {
                    _context.UserProjects.Add(new UserProjectAccess
                    {
                        ProjectId = projectToAdd.Id,
                        UserId    = currentUser.Id
                    });
                }
                _context.SaveChanges();
            }
            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 4
0
            public async Task CanAddUserToMultipleProjects()
            {
                // Arrange
                // Add user to context
                var user = new ApplicationUser {
                    UserName = "******", Email = "*****@*****.**"
                };
                await UserManager.CreateAsync(user, "SomePassword123!");

                user = Context.Users.FirstOrDefault(dbUser => dbUser.UserName == user.UserName);
                // Add two projects
                var firstProject = new DocumentationProject
                {
                    Name        = "First Project",
                    PathToIndex = "index.html"
                };
                var secondProject = new DocumentationProject
                {
                    Name        = "Second Project",
                    PathToIndex = "index.html"
                };

                Context.DocumentationProjects.Add(firstProject);
                Context.DocumentationProjects.Add(secondProject);
                await Context.SaveChangesAsync();

                // Check that no user/project relationships exist
                Assert.Equal(0, Context.UserProjects.Count(rel => rel.User.UserName == user.UserName));

                // Add users to project
                var controller = Controller();

                controller.EditProject(firstProject.Id, new ViewModels.Admin.EditProjectViewModel
                {
                    ApiKey          = "123",
                    IsPublic        = false,
                    PathToIndexPage = "index.html",
                    ProjectName     = "First Project"
                }, new System.Collections.Generic.List <string> {
                    "*****@*****.**"
                });

                // Check that one user/project relationships exists for the first project
                Assert.Equal(1, Context.UserProjects.Count(rel => rel.User.UserName == user.UserName && rel.ProjectId == firstProject.Id));

                // Add the same user to another project
                controller.EditProject(secondProject.Id, new ViewModels.Admin.EditProjectViewModel
                {
                    ApiKey          = "456",
                    IsPublic        = false,
                    PathToIndexPage = "index.html",
                    ProjectName     = "Second Project"
                }, new System.Collections.Generic.List <string> {
                    "*****@*****.**", "*****@*****.**"
                });

                // Check that user is now in both projects
                Assert.Equal(1, Context.UserProjects.Count(rel => rel.User.UserName == user.UserName && rel.ProjectId == firstProject.Id));
                Assert.Equal(1, Context.UserProjects.Count(rel => rel.User.UserName == user.UserName && rel.ProjectId == secondProject.Id));
                Assert.Equal(2, Context.UserProjects.Count(rel => rel.User.UserName == user.UserName));
            }