Проблема была решена во многом благодаря комментариям. Я поделюсь тем, что было изменено, чтобы заставить его функционировать; Во-первых, мое использование BRAM было слишком высоким. Очевидно, что перед попыткой синтеза я не получил никаких предупреждений об этом, но я столкнулся бы с этим во время синтеза или реализации, поэтому я настроил это в соответствии с таблицей данных моего чипа, чтобы не использовать больше, чем имеющийся BRAM. Во-вторых, я использовал форму динамического среза, которая не поддерживалась в Vivado, но поддерживалась другими инструментами, такими как Quartus, поэтому я изменил ее, используя ссылку, указанную в комментарии @dwikle. После этого я остался с ошибкой, которая была просто глупой ошибкой с моей стороны в моем объявлении: я объявил один из моих параметров как вектор и попытался присвоить его массиву. Так что я изменил это. Спасибо всем.
Один путь состоит в том, чтобы создать DateTime
объект и использовать его для форматирования:
new DateTime(myTimeSpan.Ticks).ToString(myCustomFormat)
// or using String.Format:
String.Format("{0:HHmmss}", new DateTime(myTimeSpan.Ticks))
Это - способ, которым я знаю. Я надеюсь, что кто-то может предложить лучший путь.
Для.NET 3.5 и ниже Вы могли использовать:
string.Format ("{0:00}:{1:00}:{2:00}",
(int)myTimeSpan.TotalHours,
myTimeSpan.Minutes,
myTimeSpan.Seconds);
Код, взятый от Стрельбы по тарелочкам Jon ответ на байтах
Это потрясающе:
string.Format("{0:00}:{1:00}:{2:00}",
(int)myTimeSpan.TotalHours,
myTimeSpan.Minutes,
myTimeSpan.Seconds);
Просто. Используйте TimeSpan.ToString
с c, g или G. Дополнительная информация на MSDN