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(); }
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(); }
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))); }
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)); }